<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Metabase API doc</title>
    <link href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;0,900;1,400;1,700&display=swap" rel="stylesheet" />
  </head>
  <style>
    :root {
      --scalar-font: 'Lato', sans-serif;
    }
  </style>
  <body>
    <script
      id="api-reference"
      type="application/json">
{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Metabase API documentation",
    "description" : "- **The API is subject to change.** We rarely change API endpoints, and almost never remove them, but if you write code that relies on the API, there's a chance you might have to update your code in the future.\n- **The API isn't versioned.** So don’t expect to stay on a particular version of Metabase in order to use a “stable” API.\n\n## API tutorial\n\nCheck out an introduction to the [Metabase API](https://www.metabase.com/learn/administration/metabase-api.html).\n\n## API keys\n\nCreate keys to authenticate programmatic requests to your Metabase. See [API keys](./people-and-groups/api-keys).\n\n## API changelog\n\nFor breaking changes, see the API [changelog](./developers-guide/api-changelog).\n\n## View the API docs for your Metabase\n\nYou can view the API docs for your Metabase by visiting `https://[your-metabase-url]/api/docs`.\n\n## Generating API docs\n\nYou can generate these docs by running:\n\n```\nclojure -M:ee:doc api-documentation\n```\n"
  },
  "components" : {
    "schemas" : {
      "metabase.analyze.fingerprint.schema/Fingerprint" : {
        "type" : "object",
        "properties" : {
          "experimental" : {
            "type" : "object",
            "properties" : { }
          },
          "global" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1GlobalFingerprint"
          },
          "type" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1TypeSpecificFingerprint"
          }
        }
      },
      "metabase.analyze.fingerprint.schema/GlobalFingerprint" : {
        "type" : "object",
        "properties" : {
          "distinct-count" : {
            "type" : "integer"
          },
          "nil%" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1Percent"
          }
        }
      },
      "metabase.analyze.fingerprint.schema/NumberFingerprint" : {
        "type" : "object",
        "properties" : {
          "avg" : {
            "type" : "number"
          },
          "max" : {
            "type" : "number"
          },
          "min" : {
            "type" : "number"
          },
          "q1" : {
            "type" : "number"
          },
          "q3" : {
            "type" : "number"
          },
          "sd" : {
            "type" : "number"
          }
        }
      },
      "metabase.analyze.fingerprint.schema/Percent" : {
        "type" : "number"
      },
      "metabase.analyze.fingerprint.schema/TemporalFingerprint" : {
        "type" : "object",
        "properties" : {
          "earliest" : {
            "type" : "string"
          },
          "latest" : {
            "type" : "string"
          }
        }
      },
      "metabase.analyze.fingerprint.schema/TextFingerprint" : {
        "type" : "object",
        "properties" : {
          "average-length" : {
            "type" : "number"
          },
          "percent-email" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1Percent"
          },
          "percent-json" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1Percent"
          },
          "percent-state" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1Percent"
          },
          "percent-url" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1Percent"
          }
        }
      },
      "metabase.analyze.fingerprint.schema/TypeSpecificFingerprint" : {
        "type" : "object",
        "properties" : {
          "type/DateTime" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1TemporalFingerprint"
          },
          "type/Number" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1NumberFingerprint"
          },
          "type/Text" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1TextFingerprint"
          }
        }
      },
      "metabase.analyze.query-results/MaybeUnnormalizedReference" : { },
      "metabase.analyze.query-results/ResultColumnMetadata" : {
        "type" : "object",
        "properties" : {
          "field_ref" : {
            "$ref" : "#/components/schemas/metabase.analyze.query-results~1MaybeUnnormalizedReference"
          },
          "fingerprint" : {
            "$ref" : "#/components/schemas/metabase.analyze.fingerprint.schema~1Fingerprint"
          },
          "base_type" : {
            "description" : "value must be a valid field data type (keyword or string)."
          },
          "id" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.id~1field"
          },
          "name" : {
            "type" : "string"
          },
          "semantic_type" : {
            "description" : "value must be a valid field semantic or relation type (keyword or string)."
          },
          "display_name" : {
            "type" : "string"
          },
          "converted_timezone" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.expression.temporal~1timezone-id"
          },
          "unit" : {
            "description" : "value must be a keyword or string.",
            "anyOf" : [ {
              "type" : "string"
            }, {
              "type" : "string"
            } ]
          },
          "description" : {
            "type" : "string"
          }
        },
        "required" : [ "name", "display_name", "base_type" ]
      },
      "metabase.analyze.query-results/ResultsMetadata" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/metabase.analyze.query-results~1ResultColumnMetadata"
        },
        "description" : "value must be an array of valid results column metadata maps.",
        "optional" : true
      },
      "metabase.api.cache/cache-strategy" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.ee"
        }, {
          "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.oss"
        } ]
      },
      "metabase.api.cache/cache-strategy.base" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "nocache", "ttl", "duration", "schedule" ]
          }
        },
        "required" : [ "type" ]
      },
      "metabase.api.cache/cache-strategy.ee" : {
        "description" : "Schema for a caching strategy in EE when we have an premium token with `:cache-granular-controls`.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.base"
        }, {
          "oneOf" : [ {
            "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.nocache"
          }, {
            "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.ttl"
          }, {
            "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.ee.duration"
          }, {
            "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.ee.schedule"
          } ]
        } ]
      },
      "metabase.api.cache/cache-strategy.ee.duration" : {
        "type" : "object",
        "properties" : {
          "duration" : {
            "description" : "value must be an integer greater than zero.",
            "type" : "integer",
            "minimum" : 1
          },
          "refresh_automatically" : {
            "type" : "boolean"
          },
          "type" : {
            "const" : "duration"
          },
          "unit" : {
            "type" : "string",
            "enum" : [ "hours", "minutes", "seconds", "days" ]
          }
        },
        "required" : [ "type", "duration", "unit" ],
        "additionalProperties" : false
      },
      "metabase.api.cache/cache-strategy.ee.schedule" : {
        "type" : "object",
        "properties" : {
          "refresh_automatically" : {
            "type" : "boolean"
          },
          "schedule" : {
            "$ref" : "#/components/schemas/metabase.util.cron~1CronScheduleString"
          },
          "type" : {
            "const" : "schedule"
          }
        },
        "required" : [ "type", "schedule" ],
        "additionalProperties" : false
      },
      "metabase.api.cache/cache-strategy.nocache" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "const" : "nocache"
          }
        },
        "required" : [ "type" ]
      },
      "metabase.api.cache/cache-strategy.oss" : {
        "description" : "Schema for a caching strategy (OSS)",
        "allOf" : [ {
          "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.base"
        }, {
          "oneOf" : [ {
            "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.nocache"
          }, {
            "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy.ttl"
          } ]
        } ]
      },
      "metabase.api.cache/cache-strategy.ttl" : {
        "type" : "object",
        "properties" : {
          "min_duration_ms" : {
            "description" : "value must be an integer greater than zero.",
            "type" : "integer",
            "minimum" : 0
          },
          "multiplier" : {
            "description" : "value must be an integer greater than zero.",
            "type" : "integer",
            "minimum" : 1
          },
          "type" : {
            "const" : "ttl"
          }
        },
        "required" : [ "type", "multiplier", "min_duration_ms" ],
        "additionalProperties" : false
      },
      "metabase.api.card/card-type" : {
        "type" : "string",
        "enum" : [ "question", "metric", "model" ]
      },
      "metabase.api.timeline/include" : {
        "type" : "string",
        "enum" : [ "events" ]
      },
      "metabase.api.user/user-group-membership" : {
        "description" : "Group Membership info of a User.\n  In which :is_group_manager is only included if `advanced-permissions` is enabled.",
        "type" : "object",
        "properties" : {
          "id" : {
            "description" : "value must be an integer greater than zero.",
            "type" : "integer",
            "minimum" : 1
          },
          "is_group_manager" : {
            "description" : "Only relevant if `advanced-permissions` is enabled. If it is, you should always include this key.",
            "type" : "boolean"
          }
        },
        "required" : [ "id" ]
      },
      "metabase.lib.schema.common/non-blank-string" : {
        "type" : "string",
        "minLength" : 1
      },
      "metabase.lib.schema.expression.temporal/timezone-id" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
        }, {
          "anyOf" : [ {
            "type" : "string",
            "enum" : [ "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", "Africa/Asmara", "Africa/Asmera", "Africa/Bamako", "Africa/Bangui", "Africa/Banjul", "Africa/Bissau", "Africa/Blantyre", "Africa/Brazzaville", "Africa/Bujumbura", "Africa/Cairo", "Africa/Casablanca", "Africa/Ceuta", "Africa/Conakry", "Africa/Dakar", "Africa/Dar_es_Salaam", "Africa/Djibouti", "Africa/Douala", "Africa/El_Aaiun", "Africa/Freetown", "Africa/Gaborone", "Africa/Harare", "Africa/Johannesburg", "Africa/Juba", "Africa/Kampala", "Africa/Khartoum", "Africa/Kigali", "Africa/Kinshasa", "Africa/Lagos", "Africa/Libreville", "Africa/Lome", "Africa/Luanda", "Africa/Lubumbashi", "Africa/Lusaka", "Africa/Malabo", "Africa/Maputo", "Africa/Maseru", "Africa/Mbabane", "Africa/Mogadishu", "Africa/Monrovia", "Africa/Nairobi", "Africa/Ndjamena", "Africa/Niamey", "Africa/Nouakchott", "Africa/Ouagadougou", "Africa/Porto-Novo", "Africa/Sao_Tome", "Africa/Timbuktu", "Africa/Tripoli", "Africa/Tunis", "Africa/Windhoek", "America/Adak", "America/Anchorage", "America/Anguilla", "America/Antigua", "America/Araguaina", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/ComodRivadavia", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/Salta", "America/Argentina/San_Juan", "America/Argentina/San_Luis", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Aruba", "America/Asuncion", "America/Atikokan", "America/Atka", "America/Bahia", "America/Bahia_Banderas", "America/Barbados", "America/Belem", "America/Belize", "America/Blanc-Sablon", "America/Boa_Vista", "America/Bogota", "America/Boise", "America/Buenos_Aires", "America/Cambridge_Bay", "America/Campo_Grande", "America/Cancun", "America/Caracas", "America/Catamarca", "America/Cayenne", "America/Cayman", "America/Chicago", "America/Chihuahua", "America/Coral_Harbour", "America/Cordoba", "America/Costa_Rica", "America/Creston", "America/Cuiaba", "America/Curacao", "America/Danmarkshavn", "America/Dawson", "America/Dawson_Creek", "America/Denver", "America/Detroit", "America/Dominica", "America/Edmonton", "America/Eirunepe", "America/El_Salvador", "America/Ensenada", "America/Fort_Nelson", "America/Fort_Wayne", "America/Fortaleza", "America/Glace_Bay", "America/Godthab", "America/Goose_Bay", "America/Grand_Turk", "America/Grenada", "America/Guadeloupe", "America/Guatemala", "America/Guayaquil", "America/Guyana", "America/Halifax", "America/Havana", "America/Hermosillo", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Inuvik", "America/Iqaluit", "America/Jamaica", "America/Jujuy", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Knox_IN", "America/Kralendijk", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Louisville", "America/Lower_Princes", "America/Maceio", "America/Managua", "America/Manaus", "America/Marigot", "America/Martinique", "America/Matamoros", "America/Mazatlan", "America/Mendoza", "America/Menominee", "America/Merida", "America/Metlakatla", "America/Mexico_City", "America/Miquelon", "America/Moncton", "America/Monterrey", "America/Montevideo", "America/Montreal", "America/Montserrat", "America/Nassau", "America/New_York", "America/Nipigon", "America/Nome", "America/Noronha", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Nuuk", "America/Ojinaga", "America/Panama", "America/Pangnirtung", "America/Paramaribo", "America/Phoenix", "America/Port-au-Prince", "America/Port_of_Spain", "America/Porto_Acre", "America/Porto_Velho", "America/Puerto_Rico", "America/Punta_Arenas", "America/Rainy_River", "America/Rankin_Inlet", "America/Recife", "America/Regina", "America/Resolute", "America/Rio_Branco", "America/Rosario", "America/Santa_Isabel", "America/Santarem", "America/Santiago", "America/Santo_Domingo", "America/Sao_Paulo", "America/Scoresbysund", "America/Shiprock", "America/Sitka", "America/St_Barthelemy", "America/St_Johns", "America/St_Kitts", "America/St_Lucia", "America/St_Thomas", "America/St_Vincent", "America/Swift_Current", "America/Tegucigalpa", "America/Thule", "America/Thunder_Bay", "America/Tijuana", "America/Toronto", "America/Tortola", "America/Vancouver", "America/Virgin", "America/Whitehorse", "America/Winnipeg", "America/Yakutat", "America/Yellowknife", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Macquarie", "Antarctica/Mawson", "Antarctica/McMurdo", "Antarctica/Palmer", "Antarctica/Rothera", "Antarctica/South_Pole", "Antarctica/Syowa", "Antarctica/Troll", "Antarctica/Vostok", "Arctic/Longyearbyen", "Asia/Aden", "Asia/Almaty", "Asia/Amman", "Asia/Anadyr", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Ashgabat", "Asia/Ashkhabad", "Asia/Atyrau", "Asia/Baghdad", "Asia/Bahrain", "Asia/Baku", "Asia/Bangkok", "Asia/Barnaul", "Asia/Beirut", "Asia/Bishkek", "Asia/Brunei", "Asia/Calcutta", "Asia/Chita", "Asia/Choibalsan", "Asia/Chongqing", "Asia/Chungking", "Asia/Colombo", "Asia/Dacca", "Asia/Damascus", "Asia/Dhaka", "Asia/Dili", "Asia/Dubai", "Asia/Dushanbe", "Asia/Famagusta", "Asia/Gaza", "Asia/Harbin", "Asia/Hebron", "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", "Asia/Hovd", "Asia/Irkutsk", "Asia/Istanbul", "Asia/Jakarta", "Asia/Jayapura", "Asia/Jerusalem", "Asia/Kabul", "Asia/Kamchatka", "Asia/Karachi", "Asia/Kashgar", "Asia/Kathmandu", "Asia/Katmandu", "Asia/Khandyga", "Asia/Kolkata", "Asia/Krasnoyarsk", "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Kuwait", "Asia/Macao", "Asia/Macau", "Asia/Magadan", "Asia/Makassar", "Asia/Manila", "Asia/Muscat", "Asia/Nicosia", "Asia/Novokuznetsk", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Oral", "Asia/Phnom_Penh", "Asia/Pontianak", "Asia/Pyongyang", "Asia/Qatar", "Asia/Qostanay", "Asia/Qyzylorda", "Asia/Rangoon", "Asia/Riyadh", "Asia/Saigon", "Asia/Sakhalin", "Asia/Samarkand", "Asia/Seoul", "Asia/Shanghai", "Asia/Singapore", "Asia/Srednekolymsk", "Asia/Taipei", "Asia/Tashkent", "Asia/Tbilisi", "Asia/Tehran", "Asia/Tel_Aviv", "Asia/Thimbu", "Asia/Thimphu", "Asia/Tokyo", "Asia/Tomsk", "Asia/Ujung_Pandang", "Asia/Ulaanbaatar", "Asia/Ulan_Bator", "Asia/Urumqi", "Asia/Ust-Nera", "Asia/Vientiane", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yangon", "Asia/Yekaterinburg", "Asia/Yerevan", "Atlantic/Azores", "Atlantic/Bermuda", "Atlantic/Canary", "Atlantic/Cape_Verde", "Atlantic/Faeroe", "Atlantic/Faroe", "Atlantic/Jan_Mayen", "Atlantic/Madeira", "Atlantic/Reykjavik", "Atlantic/South_Georgia", "Atlantic/St_Helena", "Atlantic/Stanley", "Australia/ACT", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Canberra", "Australia/Currie", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/LHI", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/NSW", "Australia/North", "Australia/Perth", "Australia/Queensland", "Australia/South", "Australia/Sydney", "Australia/Tasmania", "Australia/Victoria", "Australia/West", "Australia/Yancowinna", "Brazil/Acre", "Brazil/DeNoronha", "Brazil/East", "Brazil/West", "CET", "CST6CDT", "Canada/Atlantic", "Canada/Central", "Canada/Eastern", "Canada/Mountain", "Canada/Newfoundland", "Canada/Pacific", "Canada/Saskatchewan", "Canada/Yukon", "Chile/Continental", "Chile/EasterIsland", "Cuba", "EET", "EST5EDT", "Egypt", "Eire", "Etc/GMT", "Etc/GMT+0", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-0", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/GMT0", "Etc/Greenwich", "Etc/UCT", "Etc/UTC", "Etc/Universal", "Etc/Zulu", "Europe/Amsterdam", "Europe/Andorra", "Europe/Astrakhan", "Europe/Athens", "Europe/Belfast", "Europe/Belgrade", "Europe/Berlin", "Europe/Bratislava", "Europe/Brussels", "Europe/Bucharest", "Europe/Budapest", "Europe/Busingen", "Europe/Chisinau", "Europe/Copenhagen", "Europe/Dublin", "Europe/Gibraltar", "Europe/Guernsey", "Europe/Helsinki", "Europe/Isle_of_Man", "Europe/Istanbul", "Europe/Jersey", "Europe/Kaliningrad", "Europe/Kiev", "Europe/Kirov", "Europe/Lisbon", "Europe/Ljubljana", "Europe/London", "Europe/Luxembourg", "Europe/Madrid", "Europe/Malta", "Europe/Mariehamn", "Europe/Minsk", "Europe/Monaco", "Europe/Moscow", "Europe/Nicosia", "Europe/Oslo", "Europe/Paris", "Europe/Podgorica", "Europe/Prague", "Europe/Riga", "Europe/Rome", "Europe/Samara", "Europe/San_Marino", "Europe/Sarajevo", "Europe/Saratov", "Europe/Simferopol", "Europe/Skopje", "Europe/Sofia", "Europe/Stockholm", "Europe/Tallinn", "Europe/Tirane", "Europe/Tiraspol", "Europe/Ulyanovsk", "Europe/Uzhgorod", "Europe/Vaduz", "Europe/Vatican", "Europe/Vienna", "Europe/Vilnius", "Europe/Volgograd", "Europe/Warsaw", "Europe/Zagreb", "Europe/Zaporozhye", "Europe/Zurich", "GB", "GB-Eire", "GMT", "GMT0", "Greenwich", "Hongkong", "Iceland", "Indian/Antananarivo", "Indian/Chagos", "Indian/Christmas", "Indian/Cocos", "Indian/Comoro", "Indian/Kerguelen", "Indian/Mahe", "Indian/Maldives", "Indian/Mauritius", "Indian/Mayotte", "Indian/Reunion", "Iran", "Israel", "Jamaica", "Japan", "Kwajalein", "Libya", "MET", "MST7MDT", "Mexico/BajaNorte", "Mexico/BajaSur", "Mexico/General", "NZ", "NZ-CHAT", "Navajo", "PRC", "PST8PDT", "Pacific/Apia", "Pacific/Auckland", "Pacific/Bougainville", "Pacific/Chatham", "Pacific/Chuuk", "Pacific/Easter", "Pacific/Efate", "Pacific/Enderbury", "Pacific/Fakaofo", "Pacific/Fiji", "Pacific/Funafuti", "Pacific/Galapagos", "Pacific/Gambier", "Pacific/Guadalcanal", "Pacific/Guam", "Pacific/Honolulu", "Pacific/Johnston", "Pacific/Kanton", "Pacific/Kiritimati", "Pacific/Kosrae", "Pacific/Kwajalein", "Pacific/Majuro", "Pacific/Marquesas", "Pacific/Midway", "Pacific/Nauru", "Pacific/Niue", "Pacific/Norfolk", "Pacific/Noumea", "Pacific/Pago_Pago", "Pacific/Palau", "Pacific/Pitcairn", "Pacific/Pohnpei", "Pacific/Ponape", "Pacific/Port_Moresby", "Pacific/Rarotonga", "Pacific/Saipan", "Pacific/Samoa", "Pacific/Tahiti", "Pacific/Tarawa", "Pacific/Tongatapu", "Pacific/Truk", "Pacific/Wake", "Pacific/Wallis", "Pacific/Yap", "Poland", "Portugal", "ROK", "Singapore", "SystemV/AST4", "SystemV/AST4ADT", "SystemV/CST6", "SystemV/CST6CDT", "SystemV/EST5", "SystemV/EST5EDT", "SystemV/HST10", "SystemV/MST7", "SystemV/MST7MDT", "SystemV/PST8", "SystemV/PST8PDT", "SystemV/YST9", "SystemV/YST9YDT", "Turkey", "UCT", "US/Alaska", "US/Aleutian", "US/Arizona", "US/Central", "US/East-Indiana", "US/Eastern", "US/Hawaii", "US/Indiana-Starke", "US/Michigan", "US/Mountain", "US/Pacific", "US/Samoa", "UTC", "Universal", "W-SU", "WET", "Zulu" ]
          }, {
            "$ref" : "#/components/schemas/metabase.lib.schema.literal~1string.zone-offset"
          } ]
        } ]
      },
      "metabase.lib.schema.id/field" : {
        "type" : "integer",
        "minimum" : 1
      },
      "metabase.lib.schema.literal/string.datetime" : {
        "anyOf" : [ {
          "type" : "string",
          "pattern" : "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
        }, {
          "type" : "string",
          "pattern" : "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?(?:Z|(?:[+-]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?))$"
        } ]
      },
      "metabase.lib.schema.literal/string.zone-offset" : {
        "type" : "string",
        "pattern" : "(?:Z|(?:[+-]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?))"
      },
      "metabase.lib.schema.metadata/column.has-field-values" : {
        "type" : "string",
        "enum" : [ "auto-list", "list", "none", "search" ]
      },
      "metabase.lib.schema.temporal-bucketing/unit" : {
        "type" : "string",
        "enum" : [ "quarter", "day", "hour", "week", "second", "default", "day-of-week", "hour-of-day", "month", "month-of-year", "day-of-month", "year", "day-of-year", "millisecond", "year-of-era", "second-of-minute", "week-of-year", "quarter-of-year", "minute-of-hour", "minute" ]
      },
      "metabase.sync.schedules/ExpandedSchedulesMap" : {
        "description" : "value must be a valid map of schedule maps for a DB.",
        "type" : "object",
        "properties" : {
          "cache_field_values" : {
            "$ref" : "#/components/schemas/metabase.util.cron~1ScheduleMap"
          },
          "metadata_sync" : {
            "$ref" : "#/components/schemas/metabase.util.cron~1ScheduleMap"
          }
        }
      },
      "metabase.util.cron/CronHour" : {
        "type" : "integer",
        "minimum" : 0,
        "maximum" : 23
      },
      "metabase.util.cron/CronMinute" : {
        "type" : "integer",
        "minimum" : 0,
        "maximum" : 59
      },
      "metabase.util.cron/CronScheduleString" : {
        "description" : "value must be a non-blank string.",
        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
      },
      "metabase.util.cron/ScheduleMap" : {
        "description" : "value must be a valid schedule map. See schema in metabase.util.cron for details.",
        "type" : "object",
        "properties" : {
          "schedule_day" : {
            "type" : "string",
            "enum" : [ "sun", "mon", "tue", "wed", "thu", "fri", "sat" ]
          },
          "schedule_frame" : {
            "type" : "string",
            "enum" : [ "first", "mid", "last" ]
          },
          "schedule_hour" : {
            "$ref" : "#/components/schemas/metabase.util.cron~1CronHour"
          },
          "schedule_minute" : {
            "$ref" : "#/components/schemas/metabase.util.cron~1CronMinute"
          },
          "schedule_type" : {
            "type" : "string",
            "enum" : [ "hourly", "daily", "weekly", "monthly" ]
          }
        },
        "required" : [ "schedule_type" ]
      }
    }
  },
  "paths" : {
    "/api/action/" : {
      "get" : {
        "summary" : "GET /api/action/",
        "description" : "Returns actions that can be used for QueryActions. By default lists all viewable actions. Pass optional\n  `?model-id=<model-id>` to limit to actions on a particular model.",
        "parameters" : [ {
          "in" : "query",
          "name" : "model-id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/action" ]
      },
      "post" : {
        "summary" : "POST /api/action/",
        "description" : "Create a new action.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "visualization_settings" : {
                    "type" : "object"
                  },
                  "response_handle" : {
                    "allOf" : [ {
                      "type" : "string"
                    }, {
                      "description" : "must be a valid json-query, something like '.item.title'"
                    } ]
                  },
                  "dataset_query" : {
                    "type" : "object"
                  },
                  "parameter_mappings" : {
                    "type" : "object"
                  },
                  "name" : {
                    "type" : "string"
                  },
                  "database_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "kind" : {
                    "description" : "Unsupported implicit action kind",
                    "type" : "string",
                    "enum" : [ "row/create", "row/update", "row/delete", "bulk/create", "bulk/update", "bulk/delete" ]
                  },
                  "type" : {
                    "description" : "Unsupported action type",
                    "type" : "string",
                    "enum" : [ "http", "query", "implicit" ]
                  },
                  "template" : {
                    "type" : "object",
                    "properties" : {
                      "body" : {
                        "type" : "string"
                      },
                      "headers" : {
                        "type" : "string"
                      },
                      "method" : {
                        "type" : "string",
                        "enum" : [ "GET", "POST", "PUT", "DELETE", "PATCH" ]
                      },
                      "parameter_mappings" : {
                        "type" : "object"
                      },
                      "parameters" : {
                        "type" : "array",
                        "items" : {
                          "type" : "object"
                        }
                      },
                      "url" : {
                        "type" : "string"
                      }
                    },
                    "required" : [ "method", "url" ],
                    "additionalProperties" : false
                  },
                  "error_handle" : {
                    "allOf" : [ {
                      "type" : "string"
                    }, {
                      "description" : "must be a valid json-query, something like '.item.title'"
                    } ]
                  },
                  "model_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object"
                    }
                  },
                  "description" : {
                    "type" : "string"
                  }
                },
                "required" : [ "name", "model_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/action" ]
      }
    },
    "/api/action/public" : {
      "get" : {
        "summary" : "GET /api/action/public",
        "description" : "Fetch a list of Actions with public UUIDs. These actions are publicly-accessible *if* public sharing is enabled.",
        "parameters" : [ ],
        "tags" : [ "/api/action" ]
      }
    },
    "/api/action/{action-id}" : {
      "get" : {
        "summary" : "GET /api/action/{action-id}",
        "description" : "Fetch an Action.",
        "parameters" : [ {
          "in" : "path",
          "name" : "action-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/action" ]
      },
      "delete" : {
        "summary" : "DELETE /api/action/{action-id}",
        "description" : "Delete an Action.",
        "parameters" : [ {
          "in" : "path",
          "name" : "action-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/action" ]
      }
    },
    "/api/action/{action-id}/execute" : {
      "get" : {
        "summary" : "GET /api/action/{action-id}/execute",
        "description" : "Fetches the values for filling in execution parameters. Pass PK parameters and values to select.",
        "parameters" : [ {
          "in" : "path",
          "name" : "action-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/action" ]
      }
    },
    "/api/action/{id}" : {
      "put" : {
        "summary" : "PUT /api/action/{id}",
        "description" : "Update an Action.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "visualization_settings" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "response_handle" : {
                    "allOf" : [ {
                      "type" : "string"
                    }, {
                      "description" : "must be a valid json-query, something like '.item.title'"
                    } ]
                  },
                  "dataset_query" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "parameter_mappings" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "name" : {
                    "type" : "string"
                  },
                  "archived" : {
                    "type" : "boolean"
                  },
                  "database_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "kind" : {
                    "description" : "Unsupported implicit action kind",
                    "type" : "string",
                    "enum" : [ "row/create", "row/update", "row/delete", "bulk/create", "bulk/update", "bulk/delete" ]
                  },
                  "type" : {
                    "description" : "Unsupported action type",
                    "type" : "string",
                    "enum" : [ "http", "query", "implicit" ]
                  },
                  "template" : {
                    "type" : "object",
                    "properties" : {
                      "body" : {
                        "type" : "string"
                      },
                      "headers" : {
                        "type" : "string"
                      },
                      "method" : {
                        "type" : "string",
                        "enum" : [ "GET", "POST", "PUT", "DELETE", "PATCH" ]
                      },
                      "parameter_mappings" : {
                        "type" : "object"
                      },
                      "parameters" : {
                        "type" : "array",
                        "items" : {
                          "type" : "object"
                        }
                      },
                      "url" : {
                        "type" : "string"
                      }
                    },
                    "required" : [ "method", "url" ],
                    "additionalProperties" : false
                  },
                  "error_handle" : {
                    "allOf" : [ {
                      "type" : "string"
                    }, {
                      "description" : "must be a valid json-query, something like '.item.title'"
                    } ]
                  },
                  "model_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : { }
                    }
                  },
                  "description" : {
                    "type" : "string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/action" ]
      }
    },
    "/api/action/{id}/execute" : {
      "post" : {
        "summary" : "POST /api/action/{id}/execute",
        "description" : "Execute the Action.\n\n   `parameters` should be the mapped dashboard parameters with values.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "parameters" : {
                    "type" : "object",
                    "additionalProperties" : { }
                  }
                },
                "optional" : true
              }
            }
          }
        },
        "tags" : [ "/api/action" ]
      }
    },
    "/api/action/{id}/public_link" : {
      "post" : {
        "summary" : "POST /api/action/{id}/public_link",
        "description" : "Generate publicly-accessible links for this Action. Returns UUID to be used in public links. (If this\n  Action has already been shared, it will return the existing public link rather than creating a new one.) Public\n  sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/action" ]
      },
      "delete" : {
        "summary" : "DELETE /api/action/{id}/public_link",
        "description" : "Delete the publicly-accessible link to this Dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/action" ]
      }
    },
    "/api/activity/most_recently_viewed_dashboard" : {
      "get" : {
        "summary" : "GET /api/activity/most_recently_viewed_dashboard",
        "description" : "Get the most recently viewed dashboard for the current user. Returns a 204 if the user has not viewed any dashboards\n   in the last 24 hours.",
        "parameters" : [ ],
        "tags" : [ "/api/activity" ]
      }
    },
    "/api/activity/popular_items" : {
      "get" : {
        "summary" : "GET /api/activity/popular_items",
        "description" : "Get the list of 5 popular things on the instance. Query takes 8 and limits to 5 so that if it finds anything\n  archived, deleted, etc it can usually still get 5. ",
        "parameters" : [ ],
        "tags" : [ "/api/activity" ]
      }
    },
    "/api/activity/recent_views" : {
      "get" : {
        "summary" : "GET /api/activity/recent_views",
        "description" : "Get a list of 100 models (cards, models, tables, dashboards, and collections) that the current user has been viewing most\n  recently. Return a maximum of 20 model of each, if they've looked at at least 20.",
        "parameters" : [ ],
        "tags" : [ "/api/activity" ]
      }
    },
    "/api/activity/recents" : {
      "get" : {
        "summary" : "GET /api/activity/recents",
        "description" : "Get a list of recent items the current user has been viewing most recently under the `:recents` key.\n  Allows for filtering by context: views or selections",
        "parameters" : [ {
          "in" : "query",
          "name" : "context",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "selections", "views" ]
            }
          }
        } ],
        "tags" : [ "/api/activity" ]
      },
      "post" : {
        "summary" : "POST /api/activity/recents",
        "description" : "Adds a model to the list of recently selected items.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "context" : {
                    "type" : "string",
                    "enum" : [ "selection" ]
                  },
                  "model" : {
                    "type" : "string",
                    "enum" : [ "card", "dataset", "metric", "dashboard", "table", "collection" ]
                  },
                  "model_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "model", "model_id", "context" ]
              }
            }
          }
        },
        "tags" : [ "/api/activity" ]
      }
    },
    "/api/alert/" : {
      "get" : {
        "summary" : "GET /api/alert/",
        "description" : "Fetch alerts which the current user has created or will receive, or all alerts if the user is an admin.\n  The optional `user_id` will return alerts created by the corresponding user, but is ignored for non-admin users.",
        "parameters" : [ {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "user_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/alert" ]
      },
      "post" : {
        "summary" : "POST /api/alert/",
        "description" : "Create a new Alert.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "alert_above_goal" : {
                    "type" : "boolean"
                  },
                  "alert_condition" : {
                    "type" : "string",
                    "enum" : [ "rows", "goal" ]
                  },
                  "alert_first_only" : {
                    "type" : "boolean"
                  },
                  "card" : {
                    "description" : "value must be a map with the keys `include_csv`, `include_xls`, and `dashboard_card_id`.",
                    "type" : "object",
                    "properties" : {
                      "dashboard_card_id" : {
                        "description" : "value must be an integer greater than zero.",
                        "type" : "integer",
                        "minimum" : 1
                      },
                      "format_rows" : {
                        "type" : "boolean"
                      },
                      "id" : {
                        "description" : "value must be an integer greater than zero.",
                        "type" : "integer",
                        "minimum" : 1
                      },
                      "include_csv" : {
                        "type" : "boolean"
                      },
                      "include_xls" : {
                        "type" : "boolean"
                      },
                      "pivot_results" : {
                        "type" : "boolean"
                      }
                    },
                    "required" : [ "include_csv", "include_xls", "id" ]
                  },
                  "channels" : { }
                },
                "required" : [ "alert_condition", "alert_first_only", "card", "channels" ]
              }
            }
          }
        },
        "tags" : [ "/api/alert" ]
      }
    },
    "/api/alert/question/{id}" : {
      "get" : {
        "summary" : "GET /api/alert/question/{id}",
        "description" : "Fetch all alerts for the given question (`Card`) id",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/alert" ]
      }
    },
    "/api/alert/{id}" : {
      "get" : {
        "summary" : "GET /api/alert/{id}",
        "description" : "Fetch an alert by ID",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/alert" ]
      },
      "put" : {
        "summary" : "PUT /api/alert/{id}",
        "description" : "Update a `Alert` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "alert_above_goal" : {
                    "type" : "boolean"
                  },
                  "alert_condition" : {
                    "type" : "string",
                    "enum" : [ "rows", "goal" ]
                  },
                  "alert_first_only" : {
                    "type" : "boolean"
                  },
                  "archived" : {
                    "type" : "boolean"
                  },
                  "card" : {
                    "description" : "value must be a map with the keys `include_csv`, `include_xls`, and `dashboard_card_id`.",
                    "type" : "object",
                    "properties" : {
                      "dashboard_card_id" : {
                        "description" : "value must be an integer greater than zero.",
                        "type" : "integer",
                        "minimum" : 1
                      },
                      "format_rows" : {
                        "type" : "boolean"
                      },
                      "id" : {
                        "description" : "value must be an integer greater than zero.",
                        "type" : "integer",
                        "minimum" : 1
                      },
                      "include_csv" : {
                        "type" : "boolean"
                      },
                      "include_xls" : {
                        "type" : "boolean"
                      },
                      "pivot_results" : {
                        "type" : "boolean"
                      }
                    },
                    "required" : [ "include_csv", "include_xls", "id" ]
                  },
                  "channels" : { }
                }
              }
            }
          }
        },
        "tags" : [ "/api/alert" ]
      }
    },
    "/api/alert/{id}/subscription" : {
      "delete" : {
        "summary" : "DELETE /api/alert/{id}/subscription",
        "description" : "For users to unsubscribe themselves from the given alert.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/alert" ]
      }
    },
    "/api/api-key/" : {
      "post" : {
        "summary" : "POST /api/api-key/",
        "description" : "Create a new API key (and an associated `User`) with the provided name and group ID.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "group_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "group_id", "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/api-key" ]
      },
      "get" : {
        "summary" : "GET /api/api-key/",
        "description" : "Get a list of API keys with the default scope. Non-paginated.",
        "parameters" : [ ],
        "tags" : [ "/api/api-key" ]
      }
    },
    "/api/api-key/count" : {
      "get" : {
        "summary" : "GET /api/api-key/count",
        "description" : "Get the count of API keys in the DB with the default scope.",
        "parameters" : [ ],
        "tags" : [ "/api/api-key" ]
      }
    },
    "/api/api-key/{id}" : {
      "put" : {
        "summary" : "PUT /api/api-key/{id}",
        "description" : "Update an API key by changing its group and/or its name",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "group_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/api-key" ]
      },
      "delete" : {
        "summary" : "DELETE /api/api-key/{id}",
        "description" : "Delete an ApiKey",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/api-key" ]
      }
    },
    "/api/api-key/{id}/regenerate" : {
      "put" : {
        "summary" : "PUT /api/api-key/{id}/regenerate",
        "description" : "Regenerate an API Key",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/api-key" ]
      }
    },
    "/api/automagic-dashboards/database/{id}/candidates" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/database/{id}/candidates",
        "description" : "Return a list of candidates for automagic dashboards ordered by interestingness.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/model_index/{model-index-id}/primary_key/{pk-id}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/model_index/{model-index-id}/primary_key/{pk-id}",
        "description" : "Return an automagic dashboard for an entity detail specified by `entity`\n  with id `id` and a primary key of `indexed-value`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "model-index-id",
          "required" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "in" : "path",
          "name" : "pk-id",
          "required" : true,
          "schema" : {
            "type" : "integer"
          }
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}",
        "description" : "Return an automagic dashboard for entity `entity` with id `id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "const" : "all"
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          }
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}",
        "description" : "Return an automagic dashboard analyzing cell in  automagic dashboard for entity `entity`\n   defined by\n   query `cell-query`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "path",
          "name" : "entity-id-or-query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "cell-query",
          "required" : true,
          "schema" : { },
          "description" : "value couldn't be parsed as base64 encoded JSON"
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "all" ]
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          },
          "description" : "invalid show value"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/compare/{comparison-entity}/{comparison-entity-id-or-query}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/compare/{comparison-entity}/{comparison-entity-id-or-query}",
        "description" : "Return an automagic comparison dashboard for cell in automagic dashboard for entity `entity`\n   with id `id` defined by query `cell-query`; compared with entity `comparison-entity` with id\n   `comparison-entity-id-or-query.`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "path",
          "name" : "entity-id-or-query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "cell-query",
          "required" : true,
          "schema" : { },
          "description" : "value couldn't be parsed as base64 encoded JSON"
        }, {
          "in" : "path",
          "name" : "comparison-entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "segment", "adhoc", "table" ]
          },
          "description" : "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "all" ]
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          },
          "description" : "invalid show value"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/rule/{prefix}/{dashboard-template}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/rule/{prefix}/{dashboard-template}",
        "description" : "Return an automagic dashboard analyzing cell in question  with id `id` defined by\n   query `cell-query` using dashboard-template `dashboard-template`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "path",
          "name" : "entity-id-or-query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "prefix",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for prefix"
        }, {
          "in" : "path",
          "name" : "dashboard-template",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for dashboard template name"
        }, {
          "in" : "path",
          "name" : "cell-query",
          "required" : true,
          "schema" : { },
          "description" : "value couldn't be parsed as base64 encoded JSON"
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "all" ]
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          },
          "description" : "invalid show value"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/rule/{prefix}/{dashboard-template}/compare/{comparison-entity}/{comparison-entity-id-or-query}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/cell/{cell-query}/rule/{prefix}/{dashboard-template}/compare/{comparison-entity}/{comparison-entity-id-or-query}",
        "description" : "Return an automagic comparison dashboard for cell in automagic dashboard for entity `entity`\n   with id `id` defined by query `cell-query` using dashboard-template `dashboard-template`; compared with entity\n   `comparison-entity` with id `comparison-entity-id-or-query.`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "path",
          "name" : "entity-id-or-query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "prefix",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for prefix"
        }, {
          "in" : "path",
          "name" : "dashboard-template",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for dashboard template name"
        }, {
          "in" : "path",
          "name" : "cell-query",
          "required" : true,
          "schema" : { },
          "description" : "value couldn't be parsed as base64 encoded JSON"
        }, {
          "in" : "path",
          "name" : "comparison-entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "segment", "adhoc", "table" ]
          },
          "description" : "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "all" ]
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          },
          "description" : "invalid show value"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/compare/{comparison-entity}/{comparison-entity-id-or-query}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/compare/{comparison-entity}/{comparison-entity-id-or-query}",
        "description" : "Return an automagic comparison dashboard for entity `entity` with id `id` compared with entity\n   `comparison-entity` with id `comparison-entity-id-or-query.`",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity-id-or-query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "path",
          "name" : "comparison-entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "segment", "adhoc", "table" ]
          },
          "description" : "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "all" ]
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          },
          "description" : "invalid show value"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/query_metadata" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/query_metadata",
        "description" : "Return all metadata for an automagic dashboard for entity `entity` with id `id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/rule/{prefix}/{dashboard-template}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/rule/{prefix}/{dashboard-template}",
        "description" : "Return an automagic dashboard for entity `entity` with id `id` using dashboard-template `dashboard-template`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "path",
          "name" : "entity-id-or-query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "prefix",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for prefix"
        }, {
          "in" : "path",
          "name" : "dashboard-template",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for dashboard template name"
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "all" ]
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          },
          "description" : "invalid show value"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/automagic-dashboards/{entity}/{entity-id-or-query}/rule/{prefix}/{dashboard-template}/compare/{comparison-entity}/{comparison-entity-id-or-query}" : {
      "get" : {
        "summary" : "GET /api/automagic-dashboards/{entity}/{entity-id-or-query}/rule/{prefix}/{dashboard-template}/compare/{comparison-entity}/{comparison-entity-id-or-query}",
        "description" : "Return an automagic comparison dashboard for entity `entity` with id `id` using dashboard-template `dashboard-template`;\n   compared with entity `comparison-entity` with id `comparison-entity-id-or-query.`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "adhoc", "transform", "table", "question", "field", "segment", "metric", "model" ]
          },
          "description" : "Invalid entity type"
        }, {
          "in" : "path",
          "name" : "entity-id-or-query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "prefix",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for prefix"
        }, {
          "in" : "path",
          "name" : "dashboard-template",
          "required" : true,
          "schema" : { },
          "description" : "invalid value for dashboard template name"
        }, {
          "in" : "path",
          "name" : "comparison-entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "segment", "adhoc", "table" ]
          },
          "description" : "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
        }, {
          "in" : "query",
          "name" : "show",
          "required" : false,
          "schema" : {
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "all" ]
            }, {
              "type" : "integer",
              "minimum" : 0
            } ]
          },
          "description" : "invalid show value"
        } ],
        "tags" : [ "/api/automagic-dashboards" ]
      }
    },
    "/api/bookmark/" : {
      "get" : {
        "summary" : "GET /api/bookmark/",
        "description" : "Fetch all bookmarks for the user",
        "parameters" : [ ],
        "tags" : [ "/api/bookmark" ]
      }
    },
    "/api/bookmark/ordering" : {
      "put" : {
        "summary" : "PUT /api/bookmark/ordering",
        "description" : "Sets the order of bookmarks for user.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "orderings" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "item_id" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 1
                        },
                        "type" : {
                          "type" : "string",
                          "enum" : [ "card", "dashboard", "collection" ]
                        }
                      },
                      "required" : [ "type", "item_id" ]
                    }
                  }
                },
                "required" : [ "orderings" ]
              }
            }
          }
        },
        "tags" : [ "/api/bookmark" ]
      }
    },
    "/api/bookmark/{model}/{id}" : {
      "post" : {
        "summary" : "POST /api/bookmark/{model}/{id}",
        "description" : "Create a new bookmark for user.",
        "parameters" : [ {
          "in" : "path",
          "name" : "model",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "card", "dashboard", "collection" ]
          }
        }, {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/bookmark" ]
      },
      "delete" : {
        "summary" : "DELETE /api/bookmark/{model}/{id}",
        "description" : "Delete a bookmark. Will delete a bookmark assigned to the user making the request by model and id.",
        "parameters" : [ {
          "in" : "path",
          "name" : "model",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "card", "dashboard", "collection" ]
          }
        }, {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/bookmark" ]
      }
    },
    "/api/cache/" : {
      "get" : {
        "summary" : "GET /api/cache/",
        "description" : "Return cache configuration.",
        "parameters" : [ {
          "in" : "query",
          "name" : "model",
          "required" : true,
          "schema" : {
            "default" : [ "root" ],
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "root", "database", "dashboard", "question" ]
            }
          },
          "description" : "Type of model"
        }, {
          "in" : "query",
          "name" : "collection",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "Collection id to filter results. Returns everything if not supplied."
        }, {
          "in" : "query",
          "name" : "id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "Model id to get configuration for."
        } ],
        "tags" : [ "/api/cache" ]
      },
      "put" : {
        "summary" : "PUT /api/cache/",
        "description" : "Store cache configuration.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "model" : {
                    "type" : "string",
                    "enum" : [ "root", "database", "dashboard", "question" ]
                  },
                  "model_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 0
                  },
                  "strategy" : {
                    "$ref" : "#/components/schemas/metabase.api.cache~1cache-strategy"
                  }
                },
                "required" : [ "model", "model_id", "strategy" ]
              }
            }
          }
        },
        "tags" : [ "/api/cache" ]
      },
      "delete" : {
        "summary" : "DELETE /api/cache/",
        "description" : "Delete cache configurations.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "model" : {
                    "type" : "string",
                    "enum" : [ "root", "database", "dashboard", "question" ]
                  },
                  "model_id" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 0
                    }
                  }
                },
                "required" : [ "model", "model_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/cache" ]
      }
    },
    "/api/cache/invalidate" : {
      "post" : {
        "summary" : "POST /api/cache/invalidate",
        "description" : "Invalidate cache entries.\n\n  Use it like `/api/cache/invalidate?database=1&dashboard=15` (any number of database/dashboard/question can be\n  supplied).\n\n  `&include=overrides` controls whenever you want to invalidate cache for a specific cache configuration without\n  touching all nested configurations, or you want your invalidation to trickle down to every card.",
        "parameters" : [ {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "const" : "overrides"
          },
          "description" : "All cache configuration overrides should invalidate cache too"
        }, {
          "in" : "query",
          "name" : "database",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 0
            }
          },
          "description" : "A list of database ids"
        }, {
          "in" : "query",
          "name" : "dashboard",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 0
            }
          },
          "description" : "A list of dashboard ids"
        }, {
          "in" : "query",
          "name" : "question",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 0
            }
          },
          "description" : "A list of question ids"
        } ],
        "tags" : [ "/api/cache" ]
      }
    },
    "/api/card/" : {
      "get" : {
        "summary" : "GET /api/card/",
        "description" : "Get all the Cards. Option filter param `f` can be used to change the set of Cards that are returned; default is\n  `all`, but other options include `mine`, `bookmarked`, `database`, `table`, `using_model`, `using_metric`,\n  `using_segment`, and `archived`. See corresponding implementation functions above for the specific behavior\n  of each filter option. :card_index:",
        "parameters" : [ {
          "in" : "query",
          "name" : "f",
          "required" : true,
          "schema" : {
            "default" : "all",
            "type" : "string",
            "enum" : [ "archived", "table", "using_model", "bookmarked", "using_segment", "all", "mine", "using_metric", "database" ]
          }
        }, {
          "in" : "query",
          "name" : "model_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      },
      "post" : {
        "summary" : "POST /api/card/",
        "description" : "Create a new `Card`. Card `type` can be `question`, `metric`, or `model`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "visualization_settings" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "entity_id" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "dataset_query" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "parameter_mappings" : {
                    "type" : "array",
                    "items" : {
                      "description" : "parameter_mapping must be a map with :parameter_id and :target keys",
                      "type" : "object",
                      "properties" : {
                        "card_id" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 1
                        },
                        "parameter_id" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "target" : { }
                      },
                      "required" : [ "parameter_id", "target" ]
                    }
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "result_metadata" : {
                    "$ref" : "#/components/schemas/metabase.analyze.query-results~1ResultsMetadata"
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "cache_ttl" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "type" : {
                    "$ref" : "#/components/schemas/metabase.api.card~1card-type"
                  },
                  "display" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "parameter must be a map with :id and :type keys",
                      "type" : "object",
                      "properties" : {
                        "sectionId" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "values_source_config" : {
                          "type" : "object",
                          "properties" : {
                            "card_id" : {
                              "description" : "value must be an integer greater than zero.",
                              "type" : "integer",
                              "minimum" : 1
                            },
                            "label_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "value_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "values" : { }
                          }
                        },
                        "id" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "name" : {
                          "type" : "string"
                        },
                        "slug" : {
                          "type" : "string"
                        },
                        "type" : {
                          "type" : "string",
                          "minLength" : 1
                        },
                        "temporal_units" : {
                          "type" : "array",
                          "items" : {
                            "$ref" : "#/components/schemas/metabase.lib.schema.temporal-bucketing~1unit"
                          }
                        },
                        "values_source_type" : {
                          "enum" : [ "static-list", "card", null ]
                        },
                        "default" : { }
                      },
                      "required" : [ "id", "type" ]
                    }
                  },
                  "description" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "dashboard_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "name", "dataset_query", "display", "visualization_settings" ]
              }
            }
          }
        },
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/collections" : {
      "post" : {
        "summary" : "POST /api/card/collections",
        "description" : "Bulk update endpoint for Card Collections. Move a set of `Cards` with `card_ids` into a `Collection` with\n  `collection_id`, or remove them from any Collections by passing a `null` `collection_id`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "card_ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    }
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "card_ids" ]
              }
            }
          }
        },
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/embeddable" : {
      "get" : {
        "summary" : "GET /api/card/embeddable",
        "description" : "Fetch a list of Cards where `enable_embedding` is `true`. The cards can be embedded using the embedding endpoints\n  and a signed JWT.",
        "parameters" : [ ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/from-csv" : {
      "post" : {
        "summary" : "POST /api/card/from-csv",
        "description" : "Create a table and model populated with the values from the attached CSV. Returns the model ID if successful.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "collection_id" : {
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "file" : {
                    "type" : "object",
                    "properties" : {
                      "filename" : {
                        "type" : "string"
                      },
                      "tempfile" : { }
                    },
                    "required" : [ "filename", "tempfile" ]
                  }
                },
                "required" : [ "file" ]
              }
            }
          }
        },
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/pivot/{card-id}/query" : {
      "post" : {
        "summary" : "POST /api/card/pivot/{card-id}/query",
        "description" : "Run the query associated with a Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "ignore_cache" : {
                    "type" : "boolean"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/public" : {
      "get" : {
        "summary" : "GET /api/card/public",
        "description" : "Fetch a list of Cards with public UUIDs. These cards are publicly-accessible *if* public sharing is enabled.",
        "parameters" : [ ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/params/{param-key}/search/{query}" : {
      "get" : {
        "summary" : "GET /api/card/{card-id}/params/{param-key}/search/{query}",
        "description" : "Fetch possible values of the parameter whose ID is `:param-key` that contain `:query`.\n\n    ;; fetch values for Card 1 parameter 'abc' that contain 'Orange';\n     GET /api/card/1/params/abc/search/Orange\n\n  Currently limited to first 1000 results.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/params/{param-key}/values" : {
      "get" : {
        "summary" : "GET /api/card/{card-id}/params/{param-key}/values",
        "description" : "Fetch possible values of the parameter whose ID is `:param-key`.\n\n    ;; fetch values for Card 1 parameter 'abc' that are possible\n    GET /api/card/1/params/abc/values",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/persist" : {
      "post" : {
        "summary" : "POST /api/card/{card-id}/persist",
        "description" : "Mark the model (card) as persisted. Runs the query and saves it to the database backing the card and hot swaps this\n  query in place of the model's query.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/public_link" : {
      "post" : {
        "summary" : "POST /api/card/{card-id}/public_link",
        "description" : "Generate publicly-accessible links for this Card. Returns UUID to be used in public links. (If this Card has\n  already been shared, it will return the existing public link rather than creating a new one.)  Public sharing must\n  be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      },
      "delete" : {
        "summary" : "DELETE /api/card/{card-id}/public_link",
        "description" : "Delete the publicly-accessible link to this Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/query" : {
      "post" : {
        "summary" : "POST /api/card/{card-id}/query",
        "description" : "Run the query associated with a Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "collection_preview" : {
                    "type" : "boolean"
                  },
                  "dashboard_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "ignore_cache" : {
                    "default" : false,
                    "type" : "boolean"
                  }
                },
                "required" : [ "ignore_cache" ]
              }
            }
          }
        },
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/query/{export-format}" : {
      "post" : {
        "summary" : "POST /api/card/{card-id}/query/{export-format}",
        "description" : "Run the query associated with a Card, and return its results as a file in the specified format.\n\n  `parameters` should be passed as query parameter encoded as a serialized JSON string (this is because this endpoint\n  is normally used to power 'Download Results' buttons that use HTML `form` actions).",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "export-format",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "csv", "api", "xlsx", "json" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "format_rows" : {
                    "default" : false,
                    "type" : "boolean"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "additionalProperties" : { }
                    }
                  },
                  "pivot_results" : {
                    "default" : false,
                    "type" : "boolean"
                  }
                },
                "required" : [ "format_rows", "pivot_results" ]
              }
            }
          }
        },
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/refresh" : {
      "post" : {
        "summary" : "POST /api/card/{card-id}/refresh",
        "description" : "Refresh the persisted model caching `card-id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{card-id}/unpersist" : {
      "post" : {
        "summary" : "POST /api/card/{card-id}/unpersist",
        "description" : "Unpersist this model. Deletes the persisted table backing the model and all queries after this will use the card's\n  query rather than the saved version of the query.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{id}" : {
      "get" : {
        "summary" : "GET /api/card/{id}",
        "description" : "Get `Card` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "ignore_view",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "context",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "collection" ]
          }
        } ],
        "tags" : [ "/api/card" ]
      },
      "put" : {
        "summary" : "PUT /api/card/{id}",
        "description" : "Update a `Card`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "delete_old_dashcards",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "enable_embedding" : {
                    "type" : "boolean"
                  },
                  "visualization_settings" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "collection_preview" : {
                    "type" : "boolean"
                  },
                  "dataset_query" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "archived" : {
                    "type" : "boolean"
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "embedding_params" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string",
                      "enum" : [ "disabled", "enabled", "locked" ]
                    },
                    "description" : "value must be a valid embedding params map."
                  },
                  "result_metadata" : {
                    "$ref" : "#/components/schemas/metabase.analyze.query-results~1ResultsMetadata"
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "cache_ttl" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "type" : {
                    "$ref" : "#/components/schemas/metabase.api.card~1card-type"
                  },
                  "display" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "parameter must be a map with :id and :type keys",
                      "type" : "object",
                      "properties" : {
                        "sectionId" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "values_source_config" : {
                          "type" : "object",
                          "properties" : {
                            "card_id" : {
                              "description" : "value must be an integer greater than zero.",
                              "type" : "integer",
                              "minimum" : 1
                            },
                            "label_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "value_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "values" : { }
                          }
                        },
                        "id" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "name" : {
                          "type" : "string"
                        },
                        "slug" : {
                          "type" : "string"
                        },
                        "type" : {
                          "type" : "string",
                          "minLength" : 1
                        },
                        "temporal_units" : {
                          "type" : "array",
                          "items" : {
                            "$ref" : "#/components/schemas/metabase.lib.schema.temporal-bucketing~1unit"
                          }
                        },
                        "values_source_type" : {
                          "enum" : [ "static-list", "card", null ]
                        },
                        "default" : { }
                      },
                      "required" : [ "id", "type" ]
                    }
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "dashboard_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/card" ]
      },
      "delete" : {
        "summary" : "DELETE /api/card/{id}",
        "description" : "Hard delete a Card. To soft delete, use `PUT /api/card/:id`",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{id}/copy" : {
      "post" : {
        "summary" : "POST /api/card/{id}/copy",
        "description" : "Copy a `Card`, with the new name 'Copy of _name_'",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{id}/dashboards" : {
      "get" : {
        "summary" : "GET /api/card/{id}/dashboards",
        "description" : "Get a list of `{:name ... :id ...}` pairs for all the dashboards this card appears in.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{id}/query_metadata" : {
      "get" : {
        "summary" : "GET /api/card/{id}/query_metadata",
        "description" : "Get all of the required query metadata for a card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{id}/series" : {
      "get" : {
        "summary" : "GET /api/card/{id}/series",
        "description" : "Fetches a list of compatible series with the card with id `card_id`.\n\n  - `last_cursor` with value is the id of the last card from the previous page to fetch the next page.\n  - `query` to search card by name.\n  - `exclude_ids` to filter out a list of card ids",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "in" : "query",
          "name" : "last_cursor",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "query",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "exclude_ids",
          "required" : false,
          "schema" : { }
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/card/{id}/timelines" : {
      "get" : {
        "summary" : "GET /api/card/{id}/timelines",
        "description" : "Get the timelines for card with ID. Looks up the collection the card is in and uses that.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "const" : "events"
          }
        }, {
          "in" : "query",
          "name" : "start",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid date string"
        }, {
          "in" : "query",
          "name" : "end",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid date string"
        } ],
        "tags" : [ "/api/card" ]
      }
    },
    "/api/cards/dashboards" : {
      "post" : {
        "summary" : "POST /api/cards/dashboards",
        "description" : "Get the dashboards that multiple cards appear in. The response is a sequence of maps, each of which has a `card_id`\n  and `dashboards`. `dashboard` may include an `:error` key, either `:unreadable-dashboard` or\n  `:unwritable-dashboard`. In the case of an `unreadable-dashboard` the dashboard details (name, ID) will NOT be\n  present.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "card_ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    }
                  }
                },
                "required" : [ "card_ids" ]
              }
            }
          }
        },
        "tags" : [ "/api/cards" ]
      }
    },
    "/api/cards/move" : {
      "post" : {
        "summary" : "POST /api/cards/move",
        "description" : "Moves a number of Cards to a single collection or dashboard.\n\n  For now, just either succeed or fail as a batch - we can think more about error handling later down the road.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "card_ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    }
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "dashboard_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "card_ids" ]
              }
            }
          }
        },
        "tags" : [ "/api/cards" ]
      }
    },
    "/api/channel/" : {
      "get" : {
        "summary" : "GET /api/channel/",
        "description" : "Get all channels",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "include_inactive" : {
                    "type" : "boolean",
                    "default" : false
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/channel" ]
      },
      "post" : {
        "summary" : "POST /api/channel/",
        "description" : "Create a channel",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "active" : {
                    "type" : "boolean",
                    "default" : true
                  },
                  "description" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "details" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "type" : {
                    "description" : "Must be a namespaced channel. E.g: channel/http"
                  }
                },
                "required" : [ "name", "type", "details" ]
              }
            }
          }
        },
        "tags" : [ "/api/channel" ]
      }
    },
    "/api/channel/test" : {
      "post" : {
        "summary" : "POST /api/channel/test",
        "description" : "Test a channel connection",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "details" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "type" : {
                    "description" : "Must be a namespaced channel. E.g: channel/http"
                  }
                },
                "required" : [ "type", "details" ]
              }
            }
          }
        },
        "tags" : [ "/api/channel" ]
      }
    },
    "/api/channel/{id}" : {
      "get" : {
        "summary" : "GET /api/channel/{id}",
        "description" : "Get a channel",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/channel" ]
      },
      "put" : {
        "summary" : "PUT /api/channel/{id}",
        "description" : "Update a channel",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "active" : {
                    "type" : "boolean"
                  },
                  "description" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "details" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "type" : {
                    "description" : "Must be a namespaced channel. E.g: channel/http"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/channel" ]
      }
    },
    "/api/cloud-migration/" : {
      "post" : {
        "summary" : "POST /api/cloud-migration/",
        "description" : "Initiate a new cloud migration.",
        "parameters" : [ ],
        "tags" : [ "/api/cloud-migration" ]
      },
      "get" : {
        "summary" : "GET /api/cloud-migration/",
        "description" : "Get the latest cloud migration, if any.",
        "parameters" : [ ],
        "tags" : [ "/api/cloud-migration" ]
      }
    },
    "/api/cloud-migration/cancel" : {
      "put" : {
        "summary" : "PUT /api/cloud-migration/cancel",
        "description" : "Cancel any ongoing cloud migrations, if any.",
        "parameters" : [ ],
        "tags" : [ "/api/cloud-migration" ]
      }
    },
    "/api/collection/" : {
      "get" : {
        "summary" : "GET /api/collection/",
        "description" : "Fetch a list of all Collections that the current user has read permissions for (`:can_write` is returned as an\n  additional property of each Collection so you can tell which of these you have write permissions for.)\n\n  By default, this returns non-archived Collections, but instead you can show archived ones by passing\n  `?archived=true`.\n\n  By default, admin users will see all collections. To hide other user's collections pass in\n  `?exclude-other-user-collections=true`.\n\n  If personal-only is `true`, then return only personal collections where `personal_owner_id` is not `nil`.",
        "parameters" : [ {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "exclude-other-user-collections",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "namespace",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "personal-only",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/collection" ]
      },
      "post" : {
        "summary" : "POST /api/collection/",
        "description" : "Create a new Collection.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "authority_level" : {
                    "type" : "string",
                    "enum" : [ "official" ]
                  },
                  "description" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "namespace" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parent_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/graph" : {
      "get" : {
        "summary" : "GET /api/collection/graph",
        "description" : "Fetch a graph of all Collection Permissions.",
        "parameters" : [ {
          "in" : "query",
          "name" : "namespace",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/collection" ]
      },
      "put" : {
        "summary" : "PUT /api/collection/graph",
        "description" : "Do a batch update of Collections Permissions by passing in a modified graph. Will overwrite parts of the graph that\n  are present in the request, and leave the rest unchanged.\n\n  If the `force` query parameter is `true`, a `revision` number is not required. The provided graph will be persisted\n  as-is, and has the potential to clobber other writes that happened since the last read.\n\n  If the `skip_graph` query parameter is `true`, it will only return the current revision, not the entire permissions\n  graph.",
        "parameters" : [ {
          "in" : "query",
          "name" : "force",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "skip-graph",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "groups" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "namespace" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "revision" : {
                    "description" : "value must be an integer.",
                    "type" : "integer"
                  }
                },
                "required" : [ "groups" ]
              }
            }
          }
        },
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/root" : {
      "get" : {
        "summary" : "GET /api/collection/root",
        "description" : "Return the 'Root' Collection object with standard details added",
        "parameters" : [ {
          "in" : "query",
          "name" : "namespace",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/root/dashboard-question-candidates" : {
      "get" : {
        "summary" : "GET /api/collection/root/dashboard-question-candidates",
        "description" : "Find cards in the root collection that can be moved into dashboards in the root collection. (Same as the above\n  endpoint, but for the root collection)",
        "parameters" : [ ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/root/items" : {
      "get" : {
        "summary" : "GET /api/collection/root/items",
        "description" : "Fetch objects that the current user should see at their root level. As mentioned elsewhere, the 'Root' Collection\n  doesn't actually exist as a row in the application DB: it's simply a virtual Collection where things with no\n  `collection_id` exist. It does, however, have its own set of Permissions.\n\n  This endpoint will actually show objects with no `collection_id` for Users that have Root Collection\n  permissions, but for people without Root Collection perms, we'll just show the objects that have an effective\n  location of `/`.\n\n  This endpoint is intended to power a 'Root Folder View' for the Current User, so regardless you'll see all the\n  top-level objects you're allowed to access.\n\n  By default, this will show the 'normal' Collections namespace; to view a different Collections namespace, such as\n  `snippets`, you can pass the `?namespace=` parameter.\n\n  Note that this endpoint should return results in a similar shape to `/api/dashboard/:id/items`, so if this is\n  changed, that should too.",
        "parameters" : [ {
          "in" : "query",
          "name" : "models",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "dashboard", "dataset", "no_models", "timeline", "snippet", "collection", "pulse", "metric", "card" ]
            }
          }
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "namespace",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "pinned_state",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "is_not_pinned", "is_pinned", "all" ]
          }
        }, {
          "in" : "query",
          "name" : "sort_column",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "model", "name", "last_edited_by", "last_edited_at" ]
          }
        }, {
          "in" : "query",
          "name" : "sort_direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "desc", "asc" ]
          }
        }, {
          "in" : "query",
          "name" : "official_collections_first",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "show_dashboard_questions",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/root/move-dashboard-question-candidates" : {
      "post" : {
        "summary" : "POST /api/collection/root/move-dashboard-question-candidates",
        "description" : "Move candidate cards to the dashboards they appear in (for the root collection)",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "card_ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    },
                    "uniqueItems" : true
                  }
                },
                "optional" : true
              }
            }
          }
        },
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/root/timelines" : {
      "get" : {
        "summary" : "GET /api/collection/root/timelines",
        "description" : "Fetch the root Collection's timelines.",
        "parameters" : [ {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "const" : "events"
          }
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/trash" : {
      "get" : {
        "summary" : "GET /api/collection/trash",
        "description" : "Fetch the trash collection, as in `/api/collection/:trash-id`",
        "parameters" : [ ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/tree" : {
      "get" : {
        "summary" : "GET /api/collection/tree",
        "description" : "Similar to `GET /`, but returns Collections in a tree structure, e.g.\n\n  ```\n  [{:name     \"A\"\n  :below    #{:card :dataset}\n  :children [{:name \"B\"}\n             {:name     \"C\"\n              :here     #{:dataset :card}\n              :below    #{:dataset :card}\n              :children [{:name     \"D\"\n                          :here     #{:dataset}\n                          :children [{:name \"E\"}]}\n                         {:name     \"F\"\n                          :here     #{:card}\n                          :children [{:name \"G\"}]}]}]}\n  {:name \"H\"}]\n  ```\n\n  The here and below keys indicate the types of items at this particular level of the tree (here) and in its\n  subtree (below).\n\n  TODO: for historical reasons this returns Saved Questions AS 'card' AND Models as 'dataset'; we should fix this at\n  some point in the future.",
        "parameters" : [ {
          "in" : "query",
          "name" : "exclude-archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "exclude-other-user-collections",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "namespace",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "shallow",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "collection-id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/{id}" : {
      "get" : {
        "summary" : "GET /api/collection/{id}",
        "description" : "Fetch a specific Collection with standard details added",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/collection" ]
      },
      "put" : {
        "summary" : "PUT /api/collection/{id}",
        "description" : "Modify an existing Collection, including archiving or unarchiving it, or moving it.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "archived" : {
                    "type" : "boolean",
                    "default" : false
                  },
                  "authority_level" : {
                    "type" : "string",
                    "enum" : [ "official" ]
                  },
                  "description" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parent_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ ]
              }
            }
          }
        },
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/{id}/dashboard-question-candidates" : {
      "get" : {
        "summary" : "GET /api/collection/{id}/dashboard-question-candidates",
        "description" : "Find cards in this collection that can be moved into dashboards in this collection.\n\n  To be eligible, a card must only appear in one dashboard (which is also in this collection), and must not already be a\n  dashboard question.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/{id}/items" : {
      "get" : {
        "summary" : "GET /api/collection/{id}/items",
        "description" : "Fetch a specific Collection's items with the following options:\n\n  *  `models` - only include objects of a specific set of `models`. If unspecified, returns objects of all models\n  *  `archived` - when `true`, return archived objects *instead* of unarchived ones. Defaults to `false`.\n  *  `pinned_state` - when `is_pinned`, return pinned objects only.\n                   when `is_not_pinned`, return non pinned objects only.\n                   when `all`, return everything. By default returns everything.\n\n  Note that this endpoint should return results in a similar shape to `/api/dashboard/:id/items`, so if this is\n  changed, that should too.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "models",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "dashboard", "dataset", "no_models", "timeline", "snippet", "collection", "pulse", "metric", "card" ]
            }
          }
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "pinned_state",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "is_not_pinned", "is_pinned", "all" ]
          }
        }, {
          "in" : "query",
          "name" : "sort_column",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "model", "name", "last_edited_by", "last_edited_at" ]
          }
        }, {
          "in" : "query",
          "name" : "sort_direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "desc", "asc" ]
          }
        }, {
          "in" : "query",
          "name" : "official_collections_first",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "show_dashboard_questions",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/{id}/move-dashboard-question-candidates" : {
      "post" : {
        "summary" : "POST /api/collection/{id}/move-dashboard-question-candidates",
        "description" : "Move candidate cards to the dashboards they appear in.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "card_ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    },
                    "uniqueItems" : true
                  }
                },
                "optional" : true
              }
            }
          }
        },
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/collection/{id}/timelines" : {
      "get" : {
        "summary" : "GET /api/collection/{id}/timelines",
        "description" : "Fetch a specific Collection's timelines.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "const" : "events"
          }
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/collection" ]
      }
    },
    "/api/dashboard/" : {
      "get" : {
        "summary" : "GET /api/dashboard/",
        "description" : "This endpoint is currently unused by the Metabase frontend and may be out of date with the rest of the application.\n  It only exists for backwards compatibility and may be removed in the future.\n\n  Get `Dashboards`. With filter option `f` (default `all`), restrict results as follows:\n  *  `all`      - Return all Dashboards.\n  *  `mine`     - Return Dashboards created by the current user.\n  *  `archived` - Return Dashboards that have been archived. (By default, these are *excluded*.)",
        "parameters" : [ {
          "in" : "query",
          "name" : "f",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "all", "mine", "archived" ]
          }
        } ],
        "tags" : [ "/api/dashboard" ]
      },
      "post" : {
        "summary" : "POST /api/dashboard/",
        "description" : "Create a new Dashboard.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "cache_ttl" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "parameter must be a map with :id and :type keys",
                      "type" : "object",
                      "properties" : {
                        "sectionId" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "values_source_config" : {
                          "type" : "object",
                          "properties" : {
                            "card_id" : {
                              "description" : "value must be an integer greater than zero.",
                              "type" : "integer",
                              "minimum" : 1
                            },
                            "label_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "value_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "values" : { }
                          }
                        },
                        "id" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "name" : {
                          "type" : "string"
                        },
                        "slug" : {
                          "type" : "string"
                        },
                        "type" : {
                          "type" : "string",
                          "minLength" : 1
                        },
                        "temporal_units" : {
                          "type" : "array",
                          "items" : {
                            "$ref" : "#/components/schemas/metabase.lib.schema.temporal-bucketing~1unit"
                          }
                        },
                        "values_source_type" : {
                          "enum" : [ "static-list", "card", null ]
                        },
                        "default" : { }
                      },
                      "required" : [ "id", "type" ]
                    }
                  }
                },
                "required" : [ "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/embeddable" : {
      "get" : {
        "summary" : "GET /api/dashboard/embeddable",
        "description" : "Fetch a list of Dashboards where `enable_embedding` is `true`. The dashboards can be embedded using the embedding\n  endpoints and a signed JWT.",
        "parameters" : [ ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/params/valid-filter-fields" : {
      "get" : {
        "summary" : "GET /api/dashboard/params/valid-filter-fields",
        "description" : "Utility endpoint for powering Dashboard UI. Given some set of `filtered` Field IDs (presumably Fields used in\n  parameters) and a set of `filtering` Field IDs that will be used to restrict values of `filtered` Fields, for each\n  `filtered` Field ID return the subset of `filtering` Field IDs that would actually be used in a chain filter query\n  with these Fields.\n\n  e.g. in a chain filter query like\n\n  GET /api/dashboard/10/params/PARAM_1/values?PARAM_2=100\n\n  Assume `PARAM_1` maps to Field 1 and `PARAM_2` maps to Fields 2 and 3. The underlying MBQL query may or may not\n  filter against Fields 2 and 3, depending on whether an FK relationship that lets us create a join against Field 1\n  can be found. You can use this endpoint to determine which of those Fields is actually used:\n\n  GET /api/dashboard/params/valid-filter-fields?filtered=1&filtering=2&filtering=3\n  ;; ->\n  {1 [2 3]}\n\n  Results are returned as a map of\n\n  `filtered` Field ID -> subset of `filtering` Field IDs that would be used in chain filter query",
        "parameters" : [ {
          "in" : "query",
          "name" : "filtered",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 0
            }
          }
        }, {
          "in" : "query",
          "name" : "filtering",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 0
            }
          }
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/pivot/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query" : {
      "post" : {
        "summary" : "POST /api/dashboard/pivot/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query",
        "description" : "Run a pivot table query for a specific DashCard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a parameter map with an id key",
                      "allOf" : [ {
                        "type" : "object",
                        "properties" : {
                          "id" : {
                            "description" : "value must be a non-blank string.",
                            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                          }
                        },
                        "required" : [ "id" ]
                      }, {
                        "type" : "object",
                        "additionalProperties" : { }
                      } ]
                    }
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/public" : {
      "get" : {
        "summary" : "GET /api/dashboard/public",
        "description" : "Fetch a list of Dashboards with public UUIDs. These dashboards are publicly-accessible *if* public sharing is\n  enabled.",
        "parameters" : [ ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/save" : {
      "post" : {
        "summary" : "POST /api/dashboard/save",
        "description" : "Save a denormalized description of dashboard.",
        "parameters" : [ ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/save/collection/{parent-collection-id}" : {
      "post" : {
        "summary" : "POST /api/dashboard/save/collection/{parent-collection-id}",
        "description" : "Save a denormalized description of dashboard into collection with ID `:parent-collection-id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "parent-collection-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query" : {
      "post" : {
        "summary" : "POST /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query",
        "description" : "Run the query associated with a Saved Question (`Card`) in the context of a `Dashboard` that includes it.",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "dashboard_load_id" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a parameter map with an id key",
                      "allOf" : [ {
                        "type" : "object",
                        "properties" : {
                          "id" : {
                            "description" : "value must be a non-blank string.",
                            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                          }
                        },
                        "required" : [ "id" ]
                      }, {
                        "type" : "object",
                        "additionalProperties" : { }
                      } ]
                    }
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query/{export-format}" : {
      "post" : {
        "summary" : "POST /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/card/{card-id}/query/{export-format}",
        "description" : "Run the query associated with a Saved Question (`Card`) in the context of a `Dashboard` that includes it, and return\n  its results as a file in the specified format.\n\n  `parameters` should be passed as query parameter encoded as a serialized JSON string (this is because this endpoint\n  is normally used to power 'Download Results' buttons that use HTML `form` actions).",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "export-format",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "csv", "api", "xlsx", "json" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "format_rows" : {
                    "default" : false,
                    "type" : "boolean"
                  },
                  "parameters" : {
                    "anyOf" : [ {
                      "type" : "array",
                      "items" : {
                        "description" : "value must be a parameter map with an id key",
                        "allOf" : [ {
                          "type" : "object",
                          "properties" : {
                            "id" : {
                              "description" : "value must be a non-blank string.",
                              "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                            }
                          },
                          "required" : [ "id" ]
                        }, {
                          "type" : "object",
                          "additionalProperties" : { }
                        } ]
                      }
                    }, {
                      "description" : "value must be a valid JSON string.",
                      "type" : "string"
                    } ]
                  },
                  "pivot_results" : {
                    "default" : false,
                    "type" : "boolean"
                  }
                },
                "required" : [ "format_rows", "pivot_results" ]
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/execute" : {
      "get" : {
        "summary" : "GET /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/execute",
        "description" : "Fetches the values for filling in execution parameters. Pass PK parameters and values to select.",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/dashboard" ]
      },
      "post" : {
        "summary" : "POST /api/dashboard/{dashboard-id}/dashcard/{dashcard-id}/execute",
        "description" : "Execute the associated Action in the context of a `Dashboard` and `DashboardCard` that includes it.\n\n   `parameters` should be the mapped dashboard parameters with values.\n   `extra_parameters` should be the extra, user entered parameter values.",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "parameters" : {
                    "type" : "object",
                    "additionalProperties" : { }
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{dashboard-id}/public_link" : {
      "post" : {
        "summary" : "POST /api/dashboard/{dashboard-id}/public_link",
        "description" : "Generate publicly-accessible links for this Dashboard. Returns UUID to be used in public links. (If this\n  Dashboard has already been shared, it will return the existing public link rather than creating a new one.) Public\n  sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      },
      "delete" : {
        "summary" : "DELETE /api/dashboard/{dashboard-id}/public_link",
        "description" : "Delete the publicly-accessible link to this Dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{from-dashboard-id}/copy" : {
      "post" : {
        "summary" : "POST /api/dashboard/{from-dashboard-id}/copy",
        "description" : "Copy a Dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "from-dashboard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "is_deep_copy" : {
                    "type" : "boolean",
                    "default" : false
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ ]
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}" : {
      "get" : {
        "summary" : "GET /api/dashboard/{id}",
        "description" : "Get Dashboard with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      },
      "delete" : {
        "summary" : "DELETE /api/dashboard/{id}",
        "description" : "Hard delete a Dashboard. To soft delete, use `PUT /api/dashboard/:id`\n\n  This will remove also any questions/models/segments/metrics that use this database.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      },
      "put" : {
        "summary" : "PUT /api/dashboard/{id}",
        "description" : "Update a Dashboard, and optionally the `dashcards` and `tabs` of a Dashboard. The request body should be a JSON object with the same\n  structure as the response from `GET /api/dashboard/:id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "points_of_interest" : {
                    "type" : "string"
                  },
                  "enable_embedding" : {
                    "type" : "boolean"
                  },
                  "width" : {
                    "type" : "string",
                    "enum" : [ "fixed", "full" ]
                  },
                  "show_in_getting_started" : {
                    "type" : "boolean"
                  },
                  "position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "archived" : {
                    "type" : "boolean"
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "embedding_params" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string",
                      "enum" : [ "disabled", "enabled", "locked" ]
                    },
                    "description" : "value must be a valid embedding params map."
                  },
                  "tabs" : {
                    "description" : "value must be seq of maps in which ids are unique",
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "id" : {
                          "description" : "value must be an integer.",
                          "type" : "integer"
                        },
                        "name" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "id", "name" ]
                    }
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "cache_ttl" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "caveats" : {
                    "type" : "string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "parameter must be a map with :id and :type keys",
                      "type" : "object",
                      "properties" : {
                        "sectionId" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "values_source_config" : {
                          "type" : "object",
                          "properties" : {
                            "card_id" : {
                              "description" : "value must be an integer greater than zero.",
                              "type" : "integer",
                              "minimum" : 1
                            },
                            "label_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "value_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "values" : { }
                          }
                        },
                        "id" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "name" : {
                          "type" : "string"
                        },
                        "slug" : {
                          "type" : "string"
                        },
                        "type" : {
                          "type" : "string",
                          "minLength" : 1
                        },
                        "temporal_units" : {
                          "type" : "array",
                          "items" : {
                            "$ref" : "#/components/schemas/metabase.lib.schema.temporal-bucketing~1unit"
                          }
                        },
                        "values_source_type" : {
                          "enum" : [ "static-list", "card", null ]
                        },
                        "default" : { }
                      },
                      "required" : [ "id", "type" ]
                    }
                  },
                  "dashcards" : {
                    "description" : "value must be seq of maps in which ids are unique",
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "col" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 0
                        },
                        "id" : {
                          "type" : "integer"
                        },
                        "parameter_mappings" : {
                          "type" : "array",
                          "items" : {
                            "type" : "object",
                            "properties" : {
                              "parameter_id" : {
                                "description" : "value must be a non-blank string.",
                                "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                              },
                              "target" : { }
                            },
                            "required" : [ "parameter_id", "target" ]
                          }
                        },
                        "row" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 0
                        },
                        "series" : {
                          "type" : "array",
                          "items" : {
                            "type" : "object"
                          }
                        },
                        "size_x" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 1
                        },
                        "size_y" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 1
                        }
                      },
                      "required" : [ "id", "size_x", "size_y", "row", "col" ]
                    }
                  },
                  "description" : {
                    "type" : "string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/cards" : {
      "put" : {
        "summary" : "PUT /api/dashboard/{id}/cards",
        "description" : "(DEPRECATED -- Use the `PUT /api/dashboard/:id` endpoint instead.)\n   Update `Cards` and `Tabs` on a Dashboard. Request body should have the form:\n\n    {:cards        [{:id                 ... ; DashboardCard ID\n                     :size_x             ...\n                     :size_y             ...\n                     :row                ...\n                     :col                ...\n                     :parameter_mappings ...\n                     :series             [{:id 123\n                                           ...}]}\n                     ...]\n     :tabs [{:id       ... ; DashboardTab ID\n                     :name     ...}]}",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "cards" : {
                    "description" : "value must be seq of maps in which ids are unique",
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "col" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 0
                        },
                        "id" : {
                          "type" : "integer"
                        },
                        "parameter_mappings" : {
                          "type" : "array",
                          "items" : {
                            "type" : "object",
                            "properties" : {
                              "parameter_id" : {
                                "description" : "value must be a non-blank string.",
                                "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                              },
                              "target" : { }
                            },
                            "required" : [ "parameter_id", "target" ]
                          }
                        },
                        "row" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 0
                        },
                        "series" : {
                          "type" : "array",
                          "items" : {
                            "type" : "object"
                          }
                        },
                        "size_x" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 1
                        },
                        "size_y" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 1
                        }
                      },
                      "required" : [ "id", "size_x", "size_y", "row", "col" ]
                    }
                  },
                  "tabs" : {
                    "description" : "value must be seq of maps in which ids are unique",
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "id" : {
                          "description" : "value must be an integer.",
                          "type" : "integer"
                        },
                        "name" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "id", "name" ]
                    }
                  }
                },
                "required" : [ "cards" ]
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/items" : {
      "get" : {
        "summary" : "GET /api/dashboard/{id}/items",
        "description" : "Get Dashboard with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/params/{param-key}/search/{query}" : {
      "get" : {
        "summary" : "GET /api/dashboard/{id}/params/{param-key}/search/{query}",
        "description" : "Fetch possible values of the parameter whose ID is `:param-key` that contain `:query`. Optionally restrict\n  these values by passing query parameters like `other-parameter=value` e.g.\n\n    ;; fetch values for Dashboard 1 parameter 'abc' that contain 'Cam' and are possible when parameter 'def' is set\n    ;; to 100\n     GET /api/dashboard/1/params/abc/search/Cam?def=100\n\n  Currently limited to first 1000 results.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/params/{param-key}/values" : {
      "get" : {
        "summary" : "GET /api/dashboard/{id}/params/{param-key}/values",
        "description" : "Fetch possible values of the parameter whose ID is `:param-key`. If the values come directly from a query, optionally\n  restrict these values by passing query parameters like `other-parameter=value` e.g.\n\n    ;; fetch values for Dashboard 1 parameter 'abc' that are possible when parameter 'def' is set to 100\n    GET /api/dashboard/1/params/abc/values?def=100",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/query_metadata" : {
      "get" : {
        "summary" : "GET /api/dashboard/{id}/query_metadata",
        "description" : "Get all of the required query metadata for the cards on dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/related" : {
      "get" : {
        "summary" : "GET /api/dashboard/{id}/related",
        "description" : "Return related entities.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/revert" : {
      "post" : {
        "summary" : "POST /api/dashboard/{id}/revert",
        "description" : "Revert a Dashboard to a prior `Revision`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "revision_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "revision_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/dashboard/{id}/revisions" : {
      "get" : {
        "summary" : "GET /api/dashboard/{id}/revisions",
        "description" : "Fetch `Revisions` for Dashboard with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/dashboard" ]
      }
    },
    "/api/database/" : {
      "get" : {
        "summary" : "GET /api/database/",
        "description" : "Fetch all `Databases`.\n\n  * `include=tables` means we should hydrate the Tables belonging to each DB. Default: `false`.\n\n  * `saved` means we should include the saved questions virtual database. Default: `false`.\n\n  * `include_editable_data_model` will only include DBs for which the current user has data model editing\n    permissions. (If `include=tables`, this also applies to the list of tables in each DB). Should only be used if\n    Enterprise Edition code is available the advanced-permissions feature is enabled.\n\n  * `exclude_uneditable_details` will only include DBs for which the current user can edit the DB details. Has no\n    effect unless Enterprise Edition code is available and the advanced-permissions feature is enabled.\n\n  * `include_only_uploadable` will only include DBs into which Metabase can insert new data.\n\n  Independently of these flags, the implementation of [[metabase.models.interface/to-json]] for `:model/Database` in\n  [[metabase.models.database]] uses the implementation of [[metabase.models.interface/can-write?]] for `:model/Database`\n  in [[metabase.models.database]] to exclude the `details` field, if the requesting user lacks permission to change the\n  database details.",
        "parameters" : [ {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "const" : "tables"
          },
          "description" : "include must be either empty or the value tables"
        }, {
          "in" : "query",
          "name" : "include_analytics",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "saved",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "exclude_uneditable_details",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_only_uploadable",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/database" ]
      },
      "post" : {
        "summary" : "POST /api/database/",
        "description" : "Add a new `Database`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "is_on_demand" : {
                    "type" : "boolean",
                    "default" : false
                  },
                  "cache_ttl" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "engine" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "details" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "is_full_sync" : {
                    "type" : "boolean",
                    "default" : true
                  },
                  "connection_source" : {
                    "type" : "string",
                    "enum" : [ "admin", "setup" ],
                    "default" : "admin"
                  },
                  "auto_run_queries" : {
                    "type" : "boolean"
                  },
                  "schedules" : {
                    "$ref" : "#/components/schemas/metabase.sync.schedules~1ExpandedSchedulesMap"
                  }
                },
                "required" : [ "name", "engine", "details" ]
              }
            }
          }
        },
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/sample_database" : {
      "post" : {
        "summary" : "POST /api/database/sample_database",
        "description" : "Add the sample database as a new `Database`.",
        "parameters" : [ ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/validate" : {
      "post" : {
        "summary" : "POST /api/database/validate",
        "description" : "Validate that we can connect to a database given a set of details.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "details" : {
                    "type" : "object",
                    "properties" : {
                      "details" : {
                        "type" : "object",
                        "properties" : { }
                      },
                      "engine" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      }
                    },
                    "required" : [ "engine", "details" ]
                  }
                },
                "required" : [ "details" ]
              }
            }
          }
        },
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}" : {
      "get" : {
        "summary" : "GET /api/database/{id}",
        "description" : "Get a single Database with `id`. Optionally pass `?include=tables` or `?include=tables.fields` to include the Tables\n   belonging to this database, or the Tables and Fields, respectively.  If the requestor has write permissions for the DB\n   (i.e. is an admin or has data model permissions), then certain inferred secret values will also be included in the\n   returned details (see [[metabase.models.secret/expand-db-details-inferred-secret-values]] for full details).\n\n   Passing include_editable_data_model will only return tables for which the current user has data model editing\n   permissions, if Enterprise Edition code is available and a token with the advanced-permissions feature is present.\n   In addition, if the user has no data access for the DB (aka block permissions), it will return only the DB name, ID\n   and tables, with no additional metadata.\n\n   Independently of these flags, the implementation of [[metabase.models.interface/to-json]] for `:model/Database` in\n   [[metabase.models.database]] uses the implementation of [[metabase.models.interface/can-write?]] for `:model/Database`\n   in [[metabase.models.database]] to exclude the `details` field, if the requesting user lacks permission to change the\n   database details.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "tables", "tables.fields" ]
          }
        } ],
        "tags" : [ "/api/database" ]
      },
      "put" : {
        "summary" : "PUT /api/database/{id}",
        "description" : "Update a `Database`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "points_of_interest" : {
                    "type" : "string"
                  },
                  "settings" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "cache_ttl" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "engine" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "details" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "auto_run_queries" : {
                    "type" : "boolean"
                  },
                  "caveats" : {
                    "type" : "string"
                  },
                  "refingerprint" : {
                    "type" : "boolean"
                  },
                  "schedules" : {
                    "$ref" : "#/components/schemas/metabase.sync.schedules~1ExpandedSchedulesMap"
                  },
                  "description" : {
                    "type" : "string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/database" ]
      },
      "delete" : {
        "summary" : "DELETE /api/database/{id}",
        "description" : "Delete a `Database`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/autocomplete_suggestions" : {
      "get" : {
        "summary" : "GET /api/database/{id}/autocomplete_suggestions",
        "description" : "Return a list of autocomplete suggestions for a given `prefix`, or `substring`. Should only specify one, but\n  `substring` will have priority if both are present.\n\n  This is intended for use with the ACE Editor when the User is typing raw SQL. Suggestions include matching `Tables`\n  and `Fields` in this `Database`.\n\n  Tables are returned in the format `[table_name \"Table\"]`;\n  When Fields have a semantic_type, they are returned in the format `[field_name \"table_name base_type semantic_type\"]`\n  When Fields lack a semantic_type, they are returned in the format `[field_name \"table_name base_type\"]`",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "prefix",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "substring",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/card_autocomplete_suggestions" : {
      "get" : {
        "summary" : "GET /api/database/{id}/card_autocomplete_suggestions",
        "description" : "Return a list of `Card` autocomplete suggestions for a given `query` in a given `Database`.\n\n  This is intended for use with the ACE Editor when the User is typing in a template tag for a `Card`, e.g. {{#...}}.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "include_dashboard_questions",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/discard_values" : {
      "post" : {
        "summary" : "POST /api/database/{id}/discard_values",
        "description" : "Discards all saved field values for this `Database`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/dismiss_spinner" : {
      "post" : {
        "summary" : "POST /api/database/{id}/dismiss_spinner",
        "description" : "Manually set the initial sync status of the `Database` and corresponding\n  tables to be `complete` (see #20863)",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/fields" : {
      "get" : {
        "summary" : "GET /api/database/{id}/fields",
        "description" : "Get a list of all `Fields` in `Database`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/idfields" : {
      "get" : {
        "summary" : "GET /api/database/{id}/idfields",
        "description" : "Get a list of all primary key `Fields` for `Database`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/metadata" : {
      "get" : {
        "summary" : "GET /api/database/{id}/metadata",
        "description" : "Get metadata about a `Database`, including all of its `Tables` and `Fields`. Returns DB, fields, and field values.\n  By default only non-hidden tables and fields are returned. Passing include_hidden=true includes them.\n\n  Passing include_editable_data_model will only return tables for which the current user has data model editing\n  permissions, if Enterprise Edition code is available and a token with the advanced-permissions feature is present.\n  In addition, if the user has no data access for the DB (aka block permissions), it will return only the DB name, ID\n  and tables, with no additional metadata.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_hidden",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "remove_inactive",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "skip_fields",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/persist" : {
      "post" : {
        "summary" : "POST /api/database/{id}/persist",
        "description" : "Attempt to enable model persistence for a database. If already enabled returns a generic 204.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/rescan_values" : {
      "post" : {
        "summary" : "POST /api/database/{id}/rescan_values",
        "description" : "Trigger a manual scan of the field values for this `Database`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/schema/" : {
      "get" : {
        "summary" : "GET /api/database/{id}/schema/",
        "description" : "Return a list of Tables for a Database whose `schema` is `nil` or an empty string.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_hidden",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/schema/{schema}" : {
      "get" : {
        "summary" : "GET /api/database/{id}/schema/{schema}",
        "description" : "Returns a list of Tables for the given Database `id` and `schema`",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_hidden",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/schemas" : {
      "get" : {
        "summary" : "GET /api/database/{id}/schemas",
        "description" : "Returns a list of all the schemas with tables found for the database `id`. Excludes schemas with no tables.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_hidden",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/sync_schema" : {
      "post" : {
        "summary" : "POST /api/database/{id}/sync_schema",
        "description" : "Trigger a manual update of the schema metadata for this `Database`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/syncable_schemas" : {
      "get" : {
        "summary" : "GET /api/database/{id}/syncable_schemas",
        "description" : "Returns a list of all syncable schemas found for the database `id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/unpersist" : {
      "post" : {
        "summary" : "POST /api/database/{id}/unpersist",
        "description" : "Attempt to disable model persistence for a database. If already not enabled, just returns a generic 204.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{id}/usage_info" : {
      "get" : {
        "summary" : "GET /api/database/{id}/usage_info",
        "description" : "Get usage info for a database.\n  Returns a map with keys are models and values are the number of entities that use this database.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{virtual-db}/datasets" : {
      "get" : {
        "summary" : "GET /api/database/{virtual-db}/datasets",
        "description" : "Returns a list of all the datasets found for the saved questions virtual database.",
        "parameters" : [ ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{virtual-db}/datasets/{schema}" : {
      "get" : {
        "summary" : "GET /api/database/{virtual-db}/datasets/{schema}",
        "description" : "Returns a list of Tables for the datasets virtual database.",
        "parameters" : [ ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{virtual-db}/metadata" : {
      "get" : {
        "summary" : "GET /api/database/{virtual-db}/metadata",
        "description" : "Endpoint that provides metadata for the Saved Questions 'virtual' database. Used for fooling the frontend\n   and allowing it to treat the Saved Questions virtual DB just like any other database.",
        "parameters" : [ ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{virtual-db}/schema/{schema}" : {
      "get" : {
        "summary" : "GET /api/database/{virtual-db}/schema/{schema}",
        "description" : "Returns a list of Tables for the saved questions virtual database.",
        "parameters" : [ ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/database/{virtual-db}/schemas" : {
      "get" : {
        "summary" : "GET /api/database/{virtual-db}/schemas",
        "description" : "Returns a list of all the schemas found for the saved questions virtual database.",
        "parameters" : [ ],
        "tags" : [ "/api/database" ]
      }
    },
    "/api/dataset/" : {
      "post" : {
        "summary" : "POST /api/dataset/",
        "description" : "Execute a query and retrieve the results in the usual format. The query will not use the cache.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "database" : {
                    "type" : "integer"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/dataset" ]
      }
    },
    "/api/dataset/native" : {
      "post" : {
        "summary" : "POST /api/dataset/native",
        "description" : "Fetch a native version of an MBQL query.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "database" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "pretty" : {
                    "type" : "boolean",
                    "default" : true
                  }
                },
                "required" : [ "database" ]
              }
            }
          }
        },
        "tags" : [ "/api/dataset" ]
      }
    },
    "/api/dataset/parameter/search/{query}" : {
      "post" : {
        "summary" : "POST /api/dataset/parameter/search/{query}",
        "description" : "Return parameter values for cards or dashboards that are being edited. Expects a query string at `?query=foo`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "field_ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    }
                  },
                  "parameter" : {
                    "description" : "parameter must be a map with :id and :type keys",
                    "type" : "object",
                    "properties" : {
                      "sectionId" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "values_source_config" : {
                        "type" : "object",
                        "properties" : {
                          "card_id" : {
                            "description" : "value must be an integer greater than zero.",
                            "type" : "integer",
                            "minimum" : 1
                          },
                          "label_field" : {
                            "description" : "value must an array with :field id-or-name and an options map"
                          },
                          "value_field" : {
                            "description" : "value must an array with :field id-or-name and an options map"
                          },
                          "values" : { }
                        }
                      },
                      "id" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "name" : {
                        "type" : "string"
                      },
                      "slug" : {
                        "type" : "string"
                      },
                      "type" : {
                        "type" : "string",
                        "minLength" : 1
                      },
                      "temporal_units" : {
                        "type" : "array",
                        "items" : {
                          "$ref" : "#/components/schemas/metabase.lib.schema.temporal-bucketing~1unit"
                        }
                      },
                      "values_source_type" : {
                        "enum" : [ "static-list", "card", null ]
                      },
                      "default" : { }
                    },
                    "required" : [ "id", "type" ]
                  }
                },
                "required" : [ "parameter" ]
              }
            }
          }
        },
        "tags" : [ "/api/dataset" ]
      }
    },
    "/api/dataset/parameter/values" : {
      "post" : {
        "summary" : "POST /api/dataset/parameter/values",
        "description" : "Return parameter values for cards or dashboards that are being edited.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "field_ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    }
                  },
                  "parameter" : {
                    "description" : "parameter must be a map with :id and :type keys",
                    "type" : "object",
                    "properties" : {
                      "sectionId" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "values_source_config" : {
                        "type" : "object",
                        "properties" : {
                          "card_id" : {
                            "description" : "value must be an integer greater than zero.",
                            "type" : "integer",
                            "minimum" : 1
                          },
                          "label_field" : {
                            "description" : "value must an array with :field id-or-name and an options map"
                          },
                          "value_field" : {
                            "description" : "value must an array with :field id-or-name and an options map"
                          },
                          "values" : { }
                        }
                      },
                      "id" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "name" : {
                        "type" : "string"
                      },
                      "slug" : {
                        "type" : "string"
                      },
                      "type" : {
                        "type" : "string",
                        "minLength" : 1
                      },
                      "temporal_units" : {
                        "type" : "array",
                        "items" : {
                          "$ref" : "#/components/schemas/metabase.lib.schema.temporal-bucketing~1unit"
                        }
                      },
                      "values_source_type" : {
                        "enum" : [ "static-list", "card", null ]
                      },
                      "default" : { }
                    },
                    "required" : [ "id", "type" ]
                  }
                },
                "required" : [ "parameter" ]
              }
            }
          }
        },
        "tags" : [ "/api/dataset" ]
      }
    },
    "/api/dataset/pivot" : {
      "post" : {
        "summary" : "POST /api/dataset/pivot",
        "description" : "Generate a pivoted dataset for an ad-hoc query",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "database" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/dataset" ]
      }
    },
    "/api/dataset/query_metadata" : {
      "post" : {
        "summary" : "POST /api/dataset/query_metadata",
        "description" : "Get all of the required query metadata for an ad-hoc query.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "database" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "database" ]
              }
            }
          }
        },
        "tags" : [ "/api/dataset" ]
      }
    },
    "/api/dataset/{export-format}" : {
      "post" : {
        "summary" : "POST /api/dataset/{export-format}",
        "description" : "Execute a query and download the result data as a file in the specified format.",
        "parameters" : [ {
          "in" : "path",
          "name" : "export-format",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "csv", "api", "xlsx", "json" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "format_rows" : {
                    "default" : false,
                    "type" : "boolean"
                  },
                  "pivot_results" : {
                    "default" : false,
                    "type" : "boolean"
                  },
                  "query" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "visualization_settings" : {
                    "default" : { },
                    "type" : "object",
                    "properties" : { }
                  }
                },
                "required" : [ "query", "visualization_settings", "format_rows", "pivot_results" ]
              }
            }
          }
        },
        "tags" : [ "/api/dataset" ]
      }
    },
    "/api/ee/advanced-permissions/application/graph" : {
      "get" : {
        "summary" : "GET /api/ee/advanced-permissions/application/graph",
        "description" : "Fetch a graph of Application Permissions.",
        "parameters" : [ ],
        "tags" : [ "/api/ee/advanced-permissions/application" ]
      },
      "put" : {
        "summary" : "PUT /api/ee/advanced-permissions/application/graph",
        "description" : "Do a batch update of Application Permissions by passing a modified graph.",
        "parameters" : [ {
          "in" : "query",
          "name" : "skip-graph",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "force",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : { }
              }
            }
          }
        },
        "tags" : [ "/api/ee/advanced-permissions/application" ]
      }
    },
    "/api/ee/advanced-permissions/impersonation/" : {
      "get" : {
        "summary" : "GET /api/ee/advanced-permissions/impersonation/",
        "description" : "Fetch a list of all Impersonation policies currently in effect, or a single policy if both `group_id` and `db_id`\n  are provided.",
        "parameters" : [ {
          "in" : "query",
          "name" : "group_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "db_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/ee/advanced-permissions/impersonation" ]
      }
    },
    "/api/ee/advanced-permissions/impersonation/{id}" : {
      "delete" : {
        "summary" : "DELETE /api/ee/advanced-permissions/impersonation/{id}",
        "description" : "Delete a Connection Impersonation entry.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/ee/advanced-permissions/impersonation" ]
      }
    },
    "/api/ee/audit-app/user/audit-info" : {
      "get" : {
        "summary" : "GET /api/ee/audit-app/user/audit-info",
        "description" : "Gets audit info for the current user if he has permissions to access the audit collection.\n  Otherwise return an empty map.",
        "parameters" : [ ],
        "tags" : [ "/api/ee/audit-app/user" ]
      }
    },
    "/api/ee/audit-app/user/{id}/subscriptions" : {
      "delete" : {
        "summary" : "DELETE /api/ee/audit-app/user/{id}/subscriptions",
        "description" : "Delete all Alert and DashboardSubscription subscriptions for a User (i.e., so they will no longer receive them).\n  Archive all Alerts and DashboardSubscriptions created by the User. Only allowed for admins or for the current user.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/ee/audit-app/user" ]
      }
    },
    "/api/ee/autodescribe/card/summarize" : {
      "post" : {
        "summary" : "POST /api/ee/autodescribe/card/summarize",
        "description" : "Summarize a question.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "visualization_settings" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "dataset" : {
                    "type" : "boolean"
                  },
                  "dataset_query" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "parameter_mappings" : {
                    "type" : "array",
                    "items" : {
                      "description" : "parameter_mapping must be a map with :parameter_id and :target keys",
                      "type" : "object",
                      "properties" : {
                        "card_id" : {
                          "description" : "value must be an integer greater than zero.",
                          "type" : "integer",
                          "minimum" : 1
                        },
                        "parameter_id" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "target" : { }
                      },
                      "required" : [ "parameter_id", "target" ]
                    }
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "result_metadata" : {
                    "$ref" : "#/components/schemas/metabase.analyze.query-results~1ResultsMetadata"
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "cache_ttl" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "display" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "parameter must be a map with :id and :type keys",
                      "type" : "object",
                      "properties" : {
                        "sectionId" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "values_source_config" : {
                          "type" : "object",
                          "properties" : {
                            "card_id" : {
                              "description" : "value must be an integer greater than zero.",
                              "type" : "integer",
                              "minimum" : 1
                            },
                            "label_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "value_field" : {
                              "description" : "value must an array with :field id-or-name and an options map"
                            },
                            "values" : { }
                          }
                        },
                        "id" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "name" : {
                          "type" : "string"
                        },
                        "slug" : {
                          "type" : "string"
                        },
                        "type" : {
                          "type" : "string",
                          "minLength" : 1
                        },
                        "temporal_units" : {
                          "type" : "array",
                          "items" : {
                            "$ref" : "#/components/schemas/metabase.lib.schema.temporal-bucketing~1unit"
                          }
                        },
                        "values_source_type" : {
                          "enum" : [ "static-list", "card", null ]
                        },
                        "default" : { }
                      },
                      "required" : [ "id", "type" ]
                    }
                  },
                  "description" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "dataset_query", "display", "visualization_settings" ]
              }
            }
          }
        },
        "tags" : [ "/api/ee/autodescribe" ]
      }
    },
    "/api/ee/autodescribe/dashboard/summarize/{id}" : {
      "post" : {
        "summary" : "POST /api/ee/autodescribe/dashboard/summarize/{id}",
        "description" : "Provide a summary of a dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/ee/autodescribe" ]
      }
    },
    "/api/ee/billing/" : {
      "get" : {
        "summary" : "GET /api/ee/billing/",
        "description" : "Get billing information. This acts as a proxy between `metabase-billing-info-url` and the client,\n   using the embedding token and signed in user's email to fetch the billing information.",
        "parameters" : [ ],
        "tags" : [ "/api/ee/billing" ]
      }
    },
    "/api/ee/logs/query_execution/{yyyy-mm}" : {
      "get" : {
        "summary" : "GET /api/ee/logs/query_execution/{yyyy-mm}",
        "description" : "Fetch rows for the month specified by `:yyyy-mm` from the query_execution logs table.\n  Must be a superuser.",
        "parameters" : [ {
          "in" : "path",
          "name" : "yyyy-mm",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "\\d{4}-\\d{2}"
          },
          "description" : "Must be a string like 2020-04 or 2222-11."
        } ],
        "tags" : [ "/api/ee/logs" ]
      }
    },
    "/api/ee/query-reference-validation/invalid-cards" : {
      "get" : {
        "summary" : "GET /api/ee/query-reference-validation/invalid-cards",
        "description" : "List of cards that have an invalid reference in their query. Shape of each card is standard, with the addition of an\n  `errors` key. Supports pagination (`offset` and `limit`), so it returns something in the shape:\n\n  ```\n    {:total  200\n     :data   [card1, card2, ...]\n     :limit  50\n     :offset 100\n  ```",
        "parameters" : [ {
          "in" : "query",
          "name" : "sort_column",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "collection", "created_by", "name", "last_edited_at" ]
          }
        }, {
          "in" : "query",
          "name" : "sort_direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "desc", "asc" ]
          }
        }, {
          "in" : "query",
          "name" : "collection_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/ee/query-reference-validation" ]
      }
    },
    "/api/ee/scim/api_key" : {
      "get" : {
        "summary" : "GET /api/ee/scim/api_key",
        "description" : "Fetch the SCIM API key if one exists. Does *not* return an unmasked key, since we don't have access\n  to that after it is created.",
        "parameters" : [ ],
        "tags" : [ "/api/ee/scim" ]
      },
      "post" : {
        "summary" : "POST /api/ee/scim/api_key",
        "description" : "Create a new SCIM API key, or refresh one that already exists. When called for the first time,\n  this is equivalent to enabling SCIM.",
        "parameters" : [ ],
        "tags" : [ "/api/ee/scim" ]
      }
    },
    "/api/ee/scim/v2/Groups" : {
      "get" : {
        "summary" : "GET /api/ee/scim/v2/Groups",
        "description" : "Fetch a list of groups.",
        "parameters" : [ {
          "in" : "query",
          "name" : "startIndex",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "count",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "filter",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/ee/scim/v2" ]
      },
      "post" : {
        "summary" : "POST /api/ee/scim/v2/Groups",
        "description" : "Create a single group, and populates it if necessary.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "displayName" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "id" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "members" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "$ref" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "value" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "value" ]
                    }
                  },
                  "schemas" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a non-blank string.",
                      "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                    }
                  }
                },
                "required" : [ "schemas", "displayName" ]
              }
            }
          }
        },
        "tags" : [ "/api/ee/scim/v2" ]
      }
    },
    "/api/ee/scim/v2/Groups/{id}" : {
      "get" : {
        "summary" : "GET /api/ee/scim/v2/Groups/{id}",
        "description" : "Fetch a single group.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/ee/scim/v2" ]
      },
      "put" : {
        "summary" : "PUT /api/ee/scim/v2/Groups/{id}",
        "description" : "Update a group.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "displayName" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "id" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "members" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "$ref" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "value" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "value" ]
                    }
                  },
                  "schemas" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a non-blank string.",
                      "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                    }
                  }
                },
                "required" : [ "schemas", "displayName" ]
              }
            }
          }
        },
        "tags" : [ "/api/ee/scim/v2" ]
      },
      "delete" : {
        "summary" : "DELETE /api/ee/scim/v2/Groups/{id}",
        "description" : "Delete a group.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/ee/scim/v2" ]
      }
    },
    "/api/ee/scim/v2/Users" : {
      "get" : {
        "summary" : "GET /api/ee/scim/v2/Users",
        "description" : "Fetch a list of users.",
        "parameters" : [ {
          "in" : "query",
          "name" : "startIndex",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "count",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "filter",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/ee/scim/v2" ]
      },
      "post" : {
        "summary" : "POST /api/ee/scim/v2/Users",
        "description" : "Create a single user.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "active" : {
                    "type" : "boolean"
                  },
                  "emails" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "primary" : {
                          "type" : "boolean"
                        },
                        "type" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "value" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "value" ]
                    }
                  },
                  "groups" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "$ref" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "display" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "value" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "value", "display" ]
                    }
                  },
                  "id" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "locale" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "name" : {
                    "type" : "object",
                    "properties" : {
                      "familyName" : {
                        "type" : "string"
                      },
                      "givenName" : {
                        "type" : "string"
                      }
                    },
                    "required" : [ "givenName", "familyName" ]
                  },
                  "schemas" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a non-blank string.",
                      "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                    }
                  },
                  "userName" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "schemas", "userName", "name", "emails" ]
              }
            }
          }
        },
        "tags" : [ "/api/ee/scim/v2" ]
      }
    },
    "/api/ee/scim/v2/Users/{id}" : {
      "get" : {
        "summary" : "GET /api/ee/scim/v2/Users/{id}",
        "description" : "Fetch a single user.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/ee/scim/v2" ]
      },
      "put" : {
        "summary" : "PUT /api/ee/scim/v2/Users/{id}",
        "description" : "Update a user.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "active" : {
                    "type" : "boolean"
                  },
                  "emails" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "primary" : {
                          "type" : "boolean"
                        },
                        "type" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "value" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "value" ]
                    }
                  },
                  "groups" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "$ref" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "display" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "value" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        }
                      },
                      "required" : [ "value", "display" ]
                    }
                  },
                  "id" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "locale" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "name" : {
                    "type" : "object",
                    "properties" : {
                      "familyName" : {
                        "type" : "string"
                      },
                      "givenName" : {
                        "type" : "string"
                      }
                    },
                    "required" : [ "givenName", "familyName" ]
                  },
                  "schemas" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a non-blank string.",
                      "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                    }
                  },
                  "userName" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "schemas", "userName", "name", "emails" ]
              }
            }
          }
        },
        "tags" : [ "/api/ee/scim/v2" ]
      },
      "patch" : {
        "summary" : "PATCH /api/ee/scim/v2/Users/{id}",
        "description" : "Activate or deactivate a user. Supports specific replace operations, but not arbitrary patches.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "Operations" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "op" : {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        },
                        "value" : {
                          "anyOf" : [ {
                            "description" : "value must be a non-blank string.",
                            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                          }, {
                            "type" : "boolean"
                          } ]
                        }
                      },
                      "required" : [ "op", "value" ]
                    }
                  },
                  "schemas" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a non-blank string.",
                      "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                    }
                  }
                },
                "required" : [ "schemas", "Operations" ]
              }
            }
          }
        },
        "tags" : [ "/api/ee/scim/v2" ]
      }
    },
    "/api/ee/serialization/export" : {
      "post" : {
        "summary" : "POST /api/ee/serialization/export",
        "description" : "Serialize and retrieve Metabase instance.\n\n  Outputs `.tar.gz` file with serialization results and an `export.log` file.\n  On error outputs serialization logs directly.",
        "parameters" : [ {
          "in" : "query",
          "name" : "dirname",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "name of directory and archive file (default: `<instance-name>-<YYYY-MM-dd_HH-mm>`)"
        }, {
          "in" : "query",
          "name" : "collection",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "anyOf" : [ {
                "description" : "value must be an integer greater than zero.",
                "type" : "integer",
                "minimum" : 1
              }, {
                "type" : "string",
                "pattern" : "^.{21}$"
              }, {
                "type" : "string",
                "pattern" : "^eid:.{21}$"
              } ]
            }
          },
          "description" : "collections' db ids/entity-ids to serialize"
        }, {
          "in" : "query",
          "name" : "all_collections",
          "required" : true,
          "schema" : {
            "default" : true,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "settings",
          "required" : true,
          "schema" : {
            "default" : true,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "data_model",
          "required" : true,
          "schema" : {
            "default" : true,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "field_values",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "database_secrets",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "continue_on_error",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "full_stacktrace",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/ee/serialization" ]
      }
    },
    "/api/ee/serialization/import" : {
      "post" : {
        "summary" : "POST /api/ee/serialization/import",
        "description" : "Deserialize Metabase instance from an archive generated by /export.\n\n  Parameters:\n  - `file`: archive encoded as `multipart/form-data` (required).\n\n  Returns logs of deserialization.",
        "parameters" : [ {
          "in" : "query",
          "name" : "continue_on_error",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "full_stacktrace",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "description" : ".tgz with serialization data",
                    "type" : "object",
                    "properties" : {
                      "content-type" : {
                        "type" : "string"
                      },
                      "filename" : {
                        "type" : "string"
                      },
                      "size" : {
                        "type" : "integer"
                      },
                      "tempfile" : { }
                    },
                    "required" : [ "content-type", "filename", "size", "tempfile" ],
                    "additionalProperties" : false
                  }
                },
                "required" : [ "file" ]
              }
            }
          }
        },
        "tags" : [ "/api/ee/serialization" ]
      }
    },
    "/api/ee/stale/{id}" : {
      "get" : {
        "summary" : "GET /api/ee/stale/{id}",
        "description" : "A flexible endpoint that returns stale entities, in the same shape as collections/items, with the following options:\n  - `before_date` - only return entities that were last edited before this date (default: 6 months ago)\n  - `is_recursive` - if true, return entities from all children of the collection, not just the direct children (default: false)\n  - `sort_column` - the column to sort by (default: name)\n  - `sort_direction` - the direction to sort by (default: asc)",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "anyOf" : [ {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 1
            }, {
              "const" : "root"
            } ]
          }
        }, {
          "in" : "query",
          "name" : "before_date",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "is_recursive",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "sort_column",
          "required" : true,
          "schema" : {
            "default" : "name",
            "type" : "string",
            "enum" : [ "name", "last_used_at" ]
          }
        }, {
          "in" : "query",
          "name" : "sort_direction",
          "required" : true,
          "schema" : {
            "default" : "asc",
            "type" : "string",
            "enum" : [ "asc", "desc" ]
          }
        } ],
        "tags" : [ "/api/ee/stale" ]
      }
    },
    "/api/ee/upload-management/tables" : {
      "get" : {
        "summary" : "GET /api/ee/upload-management/tables",
        "description" : "Get all `Tables` visible to the current user which were created by uploading a file.",
        "parameters" : [ ],
        "tags" : [ "/api/ee/upload-management" ]
      }
    },
    "/api/ee/upload-management/tables/{id}" : {
      "delete" : {
        "summary" : "DELETE /api/ee/upload-management/tables/{id}",
        "description" : "Delete the uploaded table from the database, optionally archiving cards for which it is the primary source.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "archive-cards",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/ee/upload-management" ]
      }
    },
    "/api/email/" : {
      "put" : {
        "summary" : "PUT /api/email/",
        "description" : "Update multiple email Settings. You must be a superuser or have `setting` permission to do this.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : { }
              }
            }
          }
        },
        "tags" : [ "/api/email" ]
      },
      "delete" : {
        "summary" : "DELETE /api/email/",
        "description" : "Clear all email related settings. You must be a superuser or have `setting` permission to do this.",
        "parameters" : [ ],
        "tags" : [ "/api/email" ]
      }
    },
    "/api/email/test" : {
      "post" : {
        "summary" : "POST /api/email/test",
        "description" : "Send a test email using the SMTP Settings. You must be a superuser or have `setting` permission to do this.\n  Returns `{:ok true}` if we were able to send the message successfully, otherwise a standard 400 error response.",
        "parameters" : [ ],
        "tags" : [ "/api/email" ]
      }
    },
    "/api/embed/card/{token}" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}",
        "description" : "Fetch a Card via a JSON Web Token signed with the `embedding-secret-key`.\n\n   Token should have the following format:\n\n     {:resource {:question <card-id>}}",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/card/{token}/field/{field-id}/remapping/{remapped-id}" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}/field/{field-id}/remapping/{remapped-id}",
        "description" : "Fetch remapped Field values. This is the same as `GET /api/field/:id/remapping/:remapped-id`, but for use with\n  embedded Cards.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "remapped-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/card/{token}/field/{field-id}/search/{search-field-id}" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}/field/{field-id}/search/{search-field-id}",
        "description" : "Search for values of a Field that is referenced by an embedded Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "search-field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/card/{token}/field/{field-id}/values" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}/field/{field-id}/values",
        "description" : "Fetch FieldValues for a Field that is referenced by an embedded Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/card/{token}/params/{param-key}/search/{prefix}" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}/params/{param-key}/search/{prefix}",
        "description" : "Embedded version of chain filter search endpoint.",
        "parameters" : [ ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/card/{token}/params/{param-key}/values" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}/params/{param-key}/values",
        "description" : "Embedded version of api.card filter values endpoint.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/card/{token}/query" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}/query",
        "description" : "Fetch the results of running a Card using a JSON Web Token signed with the `embedding-secret-key`.\n\n   Token should have the following format:\n\n     {:resource {:question <card-id>}\n      :params   <parameters>}",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/card/{token}/query/{export-format}" : {
      "get" : {
        "summary" : "GET /api/embed/card/{token}/query/{export-format}",
        "description" : "Like `GET /api/embed/card/query`, but returns the results as a file in the specified format.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "export-format",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "csv", "api", "xlsx", "json" ]
          }
        }, {
          "in" : "query",
          "name" : "format_rows",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "pivot_results",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}",
        "description" : "Fetch a Dashboard via a JSON Web Token signed with the `embedding-secret-key`.\n\n   Token should have the following format:\n\n     {:resource {:dashboard <dashboard-id>}}",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}",
        "description" : "Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the\n  `embedding-secret-key`",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}/{export-format}" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}/{export-format}",
        "description" : "Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the\n  `embedding-secret-key` return the data in one of the export formats",
        "parameters" : [ {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "export-format",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "csv", "api", "xlsx", "json" ]
          }
        }, {
          "in" : "query",
          "name" : "format_rows",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "pivot_results",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}/field/{field-id}/remapping/{remapped-id}" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}/field/{field-id}/remapping/{remapped-id}",
        "description" : "Fetch remapped Field values. This is the same as `GET /api/field/:id/remapping/:remapped-id`, but for use with\n  embedded Dashboards.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "remapped-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}/field/{field-id}/search/{search-field-id}" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}/field/{field-id}/search/{search-field-id}",
        "description" : "Search for values of a Field that is referenced by a Card in an embedded Dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "search-field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}/field/{field-id}/values" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}/field/{field-id}/values",
        "description" : "Fetch FieldValues for a Field that is used as a param in an embedded Dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}/params/{param-key}/search/{prefix}" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}/params/{param-key}/search/{prefix}",
        "description" : "Embedded version of chain filter search endpoint.",
        "parameters" : [ ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/dashboard/{token}/params/{param-key}/values" : {
      "get" : {
        "summary" : "GET /api/embed/dashboard/{token}/params/{param-key}/values",
        "description" : "Embedded version of chain filter values endpoint.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/pivot/card/{token}/query" : {
      "get" : {
        "summary" : "GET /api/embed/pivot/card/{token}/query",
        "description" : "Fetch the results of running a Card using a JSON Web Token signed with the `embedding-secret-key`.\n\n   Token should have the following format:\n\n     {:resource {:question <card-id>}\n      :params   <parameters>}",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/embed/pivot/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}" : {
      "get" : {
        "summary" : "GET /api/embed/pivot/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}",
        "description" : "Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the\n  `embedding-secret-key`",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/embed" ]
      }
    },
    "/api/field/{id}" : {
      "get" : {
        "summary" : "GET /api/field/{id}",
        "description" : "Get `Field` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/field" ]
      },
      "put" : {
        "summary" : "PUT /api/field/{id}",
        "description" : "Update `Field` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "points_of_interest" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "settings" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "visibility_type" : {
                    "type" : "string",
                    "enum" : [ "retired", "sensitive", "normal", "hidden", "details-only" ]
                  },
                  "coercion_strategy" : {
                    "description" : "value must be a valid coercion strategy (keyword or string)."
                  },
                  "json_unfolding" : {
                    "type" : "boolean"
                  },
                  "semantic_type" : {
                    "description" : "value must be a valid field semantic or relation type (keyword or string)."
                  },
                  "has_field_values" : {
                    "$ref" : "#/components/schemas/metabase.lib.schema.metadata~1column.has-field-values"
                  },
                  "display_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "nfc_path" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be a non-blank string.",
                      "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                    }
                  },
                  "caveats" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "description" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "fk_target_field_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/dimension" : {
      "post" : {
        "summary" : "POST /api/field/{id}/dimension",
        "description" : "Sets the dimension for the given field at ID",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "human_readable_field_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "type" : {
                    "type" : "string",
                    "enum" : [ "internal", "external" ]
                  }
                },
                "required" : [ "type", "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/field" ]
      },
      "delete" : {
        "summary" : "DELETE /api/field/{id}/dimension",
        "description" : "Remove the dimension associated to field at ID",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/discard_values" : {
      "post" : {
        "summary" : "POST /api/field/{id}/discard_values",
        "description" : "Discard the FieldValues belonging to this Field. Only applies to fields that have FieldValues. If this Field's\n   Database is set up to automatically sync FieldValues, they will be recreated during the next cycle.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/related" : {
      "get" : {
        "summary" : "GET /api/field/{id}/related",
        "description" : "Return related entities.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/remapping/{remapped-id}" : {
      "get" : {
        "summary" : "GET /api/field/{id}/remapping/{remapped-id}",
        "description" : "Fetch remapped Field values.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "remapped-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/rescan_values" : {
      "post" : {
        "summary" : "POST /api/field/{id}/rescan_values",
        "description" : "Manually trigger an update for the FieldValues for this Field. Only applies to Fields that are eligible for\n   FieldValues.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/search/{search-id}" : {
      "get" : {
        "summary" : "GET /api/field/{id}/search/{search-id}",
        "description" : "Search for values of a Field with `search-id` that start with `value`. See docstring for\n  `metabase.api.field/search-values` for a more detailed explanation.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "search-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/summary" : {
      "get" : {
        "summary" : "GET /api/field/{id}/summary",
        "description" : "Get the count and distinct count of `Field` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/field" ]
      }
    },
    "/api/field/{id}/values" : {
      "get" : {
        "summary" : "GET /api/field/{id}/values",
        "description" : "If a Field's value of `has_field_values` is `:list`, return a list of all the distinct values of the Field (or\n  remapped Field), and (if defined by a User) a map of human-readable remapped values. If `has_field_values` is not\n  `:list`, checks whether we should create FieldValues for this Field; if so, creates and returns them.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/field" ]
      },
      "post" : {
        "summary" : "POST /api/field/{id}/values",
        "description" : "Update the fields values and human-readable values for a `Field` whose semantic type is\n  `category`/`city`/`state`/`country` or whose base type is `type/Boolean`. The human-readable values are optional.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "values" : {
                    "type" : "array",
                    "items" : {
                      "anyOf" : [ {
                        "type" : "array",
                        "items" : [ { } ],
                        "additionalItems" : false
                      }, {
                        "type" : "array",
                        "items" : [ { }, {
                          "description" : "value must be a non-blank string.",
                          "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                        } ],
                        "additionalItems" : false
                      } ]
                    }
                  }
                },
                "required" : [ "values" ]
              }
            }
          }
        },
        "tags" : [ "/api/field" ]
      }
    },
    "/api/geojson/" : {
      "get" : {
        "summary" : "GET /api/geojson/",
        "description" : "Load a custom GeoJSON file based on a URL or file path provided as a query parameter.\n  This behaves similarly to /api/geojson/:key but doesn't require the custom map to be saved to the DB first.",
        "parameters" : [ {
          "in" : "query",
          "name" : "url",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/geojson" ]
      }
    },
    "/api/geojson/{key}" : {
      "get" : {
        "summary" : "GET /api/geojson/{key}",
        "description" : "Fetch a custom GeoJSON file as defined in the `custom-geojson` setting. (This just acts as a simple proxy for the\n  file specified for `key`).",
        "parameters" : [ {
          "in" : "path",
          "name" : "key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/geojson" ]
      }
    },
    "/api/google/settings" : {
      "put" : {
        "summary" : "PUT /api/google/settings",
        "description" : "Update Google Sign-In related settings. You must be a superuser to do this.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "google-auth-auto-create-accounts-domain" : {
                    "type" : "string"
                  },
                  "google-auth-client-id" : {
                    "type" : "string"
                  },
                  "google-auth-enabled" : {
                    "type" : "boolean"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/google" ]
      }
    },
    "/api/ldap/settings" : {
      "put" : {
        "summary" : "PUT /api/ldap/settings",
        "description" : "Update LDAP related settings. You must be a superuser to do this.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : { }
              }
            }
          }
        },
        "tags" : [ "/api/ldap" ]
      }
    },
    "/api/login-history/current" : {
      "get" : {
        "summary" : "GET /api/login-history/current",
        "description" : "Fetch recent logins for the current user.",
        "parameters" : [ ],
        "tags" : [ "/api/login-history" ]
      }
    },
    "/api/model-index/" : {
      "post" : {
        "summary" : "POST /api/model-index/",
        "description" : "Create ModelIndex.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "model_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "pk_ref" : { },
                  "value_ref" : { }
                },
                "required" : [ "model_id", "pk_ref", "value_ref" ]
              }
            }
          }
        },
        "tags" : [ "/api/model-index" ]
      },
      "get" : {
        "summary" : "GET /api/model-index/",
        "description" : "Retrieve list of ModelIndex.",
        "parameters" : [ {
          "in" : "query",
          "name" : "model_id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/model-index" ]
      }
    },
    "/api/model-index/{id}" : {
      "get" : {
        "summary" : "GET /api/model-index/{id}",
        "description" : "Retrieve ModelIndex.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/model-index" ]
      },
      "delete" : {
        "summary" : "DELETE /api/model-index/{id}",
        "description" : "Delete ModelIndex.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/model-index" ]
      }
    },
    "/api/moderation-review/" : {
      "post" : {
        "summary" : "POST /api/moderation-review/",
        "description" : "Create a new `ModerationReview`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "moderated_item_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "moderated_item_type" : {
                    "enum" : [ "card", "card", "dashboard", "dashboard" ]
                  },
                  "status" : {
                    "type" : "string",
                    "enum" : [ "verified" ]
                  },
                  "text" : {
                    "type" : "string"
                  }
                },
                "required" : [ "moderated_item_id", "moderated_item_type" ]
              }
            }
          }
        },
        "tags" : [ "/api/moderation-review" ]
      }
    },
    "/api/mt/gtap/" : {
      "get" : {
        "summary" : "GET /api/mt/gtap/",
        "description" : "Fetch a list of all GTAPs currently in use, or a single GTAP if both `group_id` and `table_id` are provided.",
        "parameters" : [ {
          "in" : "query",
          "name" : "group_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "table_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/mt/gtap" ]
      },
      "post" : {
        "summary" : "POST /api/mt/gtap/",
        "description" : "Create a new GTAP.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "attribute_remappings" : { },
                  "card_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "group_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "table_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "table_id", "group_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/mt/gtap" ]
      }
    },
    "/api/mt/gtap/validate" : {
      "post" : {
        "summary" : "POST /api/mt/gtap/validate",
        "description" : "Validate a sandbox which may not have yet been saved. This runs the same validation that is performed when the\n  sandbox is saved, but doesn't actually save the sandbox.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "card_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "table_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "table_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/mt/gtap" ]
      }
    },
    "/api/mt/gtap/{id}" : {
      "get" : {
        "summary" : "GET /api/mt/gtap/{id}",
        "description" : "Fetch GTAP by `id`",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/mt/gtap" ]
      },
      "put" : {
        "summary" : "PUT /api/mt/gtap/{id}",
        "description" : "Update a GTAP entry. The only things you're allowed to update for a GTAP are the Card being used (`card_id`) or the\n  paramter mappings; changing `table_id` or `group_id` would effectively be deleting this entry and creating a new\n  one. If that's what you want to do, do so explicity with appropriate calls to the `DELETE` and `POST` endpoints.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "attribute_remappings" : { },
                  "card_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/mt/gtap" ]
      },
      "delete" : {
        "summary" : "DELETE /api/mt/gtap/{id}",
        "description" : "Delete a GTAP entry.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/mt/gtap" ]
      }
    },
    "/api/mt/user/attributes" : {
      "get" : {
        "summary" : "GET /api/mt/user/attributes",
        "description" : "Fetch a list of possible keys for User `login_attributes`. This just looks at keys that have already been set for\n  existing Users and returns those. ",
        "parameters" : [ ],
        "tags" : [ "/api/mt/user" ]
      }
    },
    "/api/mt/user/{id}/attributes" : {
      "put" : {
        "summary" : "PUT /api/mt/user/{id}/attributes",
        "description" : "Update the `login_attributes` for a User.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "login_attributes" : {
                    "description" : "value must be a valid user attributes map (name -> value)",
                    "type" : "object",
                    "additionalProperties" : { }
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/mt/user" ]
      }
    },
    "/api/native-query-snippet/" : {
      "get" : {
        "summary" : "GET /api/native-query-snippet/",
        "description" : "Fetch all snippets",
        "parameters" : [ {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/native-query-snippet" ]
      },
      "post" : {
        "summary" : "POST /api/native-query-snippet/",
        "description" : "Create a new `NativeQuerySnippet`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "content" : {
                    "type" : "string"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "name" : {
                    "description" : "snippet names cannot include } or start with spaces"
                  }
                },
                "required" : [ "content", "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/native-query-snippet" ]
      }
    },
    "/api/native-query-snippet/{id}" : {
      "get" : {
        "summary" : "GET /api/native-query-snippet/{id}",
        "description" : "Fetch native query snippet with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/native-query-snippet" ]
      },
      "put" : {
        "summary" : "PUT /api/native-query-snippet/{id}",
        "description" : "Update an existing `NativeQuerySnippet`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "archived" : {
                    "type" : "boolean"
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "content" : {
                    "type" : "string"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "name" : {
                    "description" : "snippet names cannot include } or start with spaces"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/native-query-snippet" ]
      }
    },
    "/api/notify/db/attached_datawarehouse" : {
      "post" : {
        "summary" : "POST /api/notify/db/attached_datawarehouse",
        "description" : "Sync the attached datawarehouse. Can provide in the body:\n  - table_name and schema_name: both strings. Will look for an existing table and sync it, otherwise will try to find a\n  new table with that name and sync it. If it cannot find a table it will throw an error. If table_name is empty or\n  blank, will sync the entire database.\n  - synchronous?: is a boolean value to indicate if this should block on the result.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "schema_name" : {
                    "type" : "string"
                  },
                  "synchronous?" : {
                    "type" : "boolean",
                    "default" : false
                  },
                  "table_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ ]
              }
            }
          }
        },
        "tags" : [ "/api/notify" ]
      }
    },
    "/api/notify/db/{id}" : {
      "post" : {
        "summary" : "POST /api/notify/db/{id}",
        "description" : "Notification about a potential schema change to one of our `Databases`.\n  Caller can optionally specify a `:table_id` or `:table_name` in the body to limit updates to a single\n  `Table`. Optional Parameter `:scan` can be `\"full\"` or `\"schema\"` for a full sync or a schema sync, available\n  regardless if a `:table_id` or `:table_name` is passed.\n  This endpoint is secured by an API key that needs to be passed as a `X-METABASE-APIKEY` header which needs to be defined in\n  the `MB_API_KEY` [environment variable](https://www.metabase.com/docs/latest/configuring-metabase/environment-variables.html#mb_api_key)",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "scan" : {
                    "type" : "string",
                    "enum" : [ "full", "schema" ]
                  },
                  "table_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "table_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/notify" ]
      }
    },
    "/api/notify/db/{id}/new-table" : {
      "post" : {
        "summary" : "POST /api/notify/db/{id}/new-table",
        "description" : "Sync a new table without running a full database sync. Requires `schema_name` and `table_name`. Will throw an error\n  if the table already exists in Metabase or cannot be found.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "schema_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "table_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "schema_name", "table_name" ]
              }
            }
          }
        },
        "tags" : [ "/api/notify" ]
      }
    },
    "/api/permissions/graph" : {
      "get" : {
        "summary" : "GET /api/permissions/graph",
        "description" : "Fetch a graph of all Permissions.",
        "parameters" : [ ],
        "tags" : [ "/api/permissions" ]
      },
      "put" : {
        "summary" : "PUT /api/permissions/graph",
        "description" : "Do a batch update of Permissions by passing in a modified graph. This should return the same graph, in the same\n  format, that you got from `GET /api/permissions/graph`, with any changes made in the wherever necessary. This\n  modified graph must correspond to the `PermissionsGraph` schema. If successful, this endpoint returns the updated\n  permissions graph; use this as a base for any further modifications.\n\n  Revisions to the permissions graph are tracked. If you fetch the permissions graph and some other third-party\n  modifies it before you can submit you revisions, the endpoint will instead make no changes and return a\n  409 (Conflict) response. In this case, you should fetch the updated graph and make desired changes to that.\n\n  The optional `sandboxes` key contains a list of sandboxes that should be created or modified in conjunction with\n  this permissions graph update. Since data sandboxing is an Enterprise Edition-only feature, a 402 (Payment Required)\n  response will be returned if this key is present and the server is not running the Enterprise Edition, and/or the\n  `:sandboxes` feature flag is not present.\n\n  If the skip-graph query param is truthy, then the graph will not be returned.",
        "parameters" : [ {
          "in" : "query",
          "name" : "skip-graph",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "force",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : { }
              }
            }
          }
        },
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/graph/db/{db-id}" : {
      "get" : {
        "summary" : "GET /api/permissions/graph/db/{db-id}",
        "description" : "Fetch a graph of all Permissions for db-id `db-id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "db-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/graph/group/{group-id}" : {
      "get" : {
        "summary" : "GET /api/permissions/graph/group/{group-id}",
        "description" : "Fetch a graph of all Permissions for group-id `group-id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "group-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/group" : {
      "get" : {
        "summary" : "GET /api/permissions/group",
        "description" : "Fetch all `PermissionsGroups`, including a count of the number of `:members` in that group.\n  This API requires superuser or group manager of more than one group.\n  Group manager is only available if `advanced-permissions` is enabled and returns only groups that user\n  is manager of.",
        "parameters" : [ ],
        "tags" : [ "/api/permissions" ]
      },
      "post" : {
        "summary" : "POST /api/permissions/group",
        "description" : "Create a new `PermissionsGroup`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/group/{group-id}" : {
      "put" : {
        "summary" : "PUT /api/permissions/group/{group-id}",
        "description" : "Update the name of a `PermissionsGroup`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "group-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/permissions" ]
      },
      "delete" : {
        "summary" : "DELETE /api/permissions/group/{group-id}",
        "description" : "Delete a specific `PermissionsGroup`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "group-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/group/{id}" : {
      "get" : {
        "summary" : "GET /api/permissions/group/{id}",
        "description" : "Fetch the details for a certain permissions group.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/membership" : {
      "get" : {
        "summary" : "GET /api/permissions/membership",
        "description" : "Fetch a map describing the group memberships of various users.\n   This map's format is:\n\n    {<user-id> [{:membership_id    <id>\n                 :group_id         <id>\n                 :is_group_manager boolean}]}",
        "parameters" : [ ],
        "tags" : [ "/api/permissions" ]
      },
      "post" : {
        "summary" : "POST /api/permissions/membership",
        "description" : "Add a `User` to a `PermissionsGroup`. Returns updated list of members belonging to the group.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "group_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "is_group_manager" : {
                    "type" : "boolean",
                    "default" : false
                  },
                  "user_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "group_id", "user_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/membership/{group-id}/clear" : {
      "put" : {
        "summary" : "PUT /api/permissions/membership/{group-id}/clear",
        "description" : "Remove all members from a `PermissionsGroup`. Returns a 400 (Bad Request) if the group ID is for the admin group.",
        "parameters" : [ {
          "in" : "path",
          "name" : "group-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/permissions/membership/{id}" : {
      "put" : {
        "summary" : "PUT /api/permissions/membership/{id}",
        "description" : "Update a Permission Group membership. Returns the updated record.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "is_group_manager" : {
                    "type" : "boolean"
                  }
                },
                "required" : [ "is_group_manager" ]
              }
            }
          }
        },
        "tags" : [ "/api/permissions" ]
      },
      "delete" : {
        "summary" : "DELETE /api/permissions/membership/{id}",
        "description" : "Remove a User from a PermissionsGroup (delete their membership).",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/permissions" ]
      }
    },
    "/api/persist/" : {
      "get" : {
        "summary" : "GET /api/persist/",
        "description" : "List the entries of [[PersistedInfo]] in order to show a status page.",
        "parameters" : [ ],
        "tags" : [ "/api/persist" ]
      }
    },
    "/api/persist/card/{card-id}" : {
      "get" : {
        "summary" : "GET /api/persist/card/{card-id}",
        "description" : "Fetch a particular [[PersistedInfo]] by card-id.",
        "parameters" : [ {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/persist" ]
      }
    },
    "/api/persist/disable" : {
      "post" : {
        "summary" : "POST /api/persist/disable",
        "description" : "Disable global setting to allow databases to persist models. This will remove all tasks to refresh tables, remove\n  that option from databases which might have it enabled, and delete all cached tables.",
        "parameters" : [ ],
        "tags" : [ "/api/persist" ]
      }
    },
    "/api/persist/enable" : {
      "post" : {
        "summary" : "POST /api/persist/enable",
        "description" : "Enable global setting to allow databases to persist models.",
        "parameters" : [ ],
        "tags" : [ "/api/persist" ]
      }
    },
    "/api/persist/set-refresh-schedule" : {
      "post" : {
        "summary" : "POST /api/persist/set-refresh-schedule",
        "description" : "Set the cron schedule to refresh persisted models.\n   Shape should be JSON like {cron: \"0 30 1/8 * * ? *\"}.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "cron" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "cron" ]
              }
            }
          }
        },
        "tags" : [ "/api/persist" ]
      }
    },
    "/api/persist/{persisted-info-id}" : {
      "get" : {
        "summary" : "GET /api/persist/{persisted-info-id}",
        "description" : "Fetch a particular [[PersistedInfo]] by id.",
        "parameters" : [ {
          "in" : "path",
          "name" : "persisted-info-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/persist" ]
      }
    },
    "/api/premium-features/token/status" : {
      "get" : {
        "summary" : "GET /api/premium-features/token/status",
        "description" : "Fetch info about the current Premium-Features premium features token including whether it is `valid`, a `trial` token, its\n  `features`, when it is `valid-thru`, and the `status` of the account.",
        "parameters" : [ ],
        "tags" : [ "/api/premium-features" ]
      }
    },
    "/api/preview_embed/card/{token}" : {
      "get" : {
        "summary" : "GET /api/preview_embed/card/{token}",
        "description" : "Fetch a Card you're considering embedding by passing a JWT `token`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/preview_embed" ]
      }
    },
    "/api/preview_embed/card/{token}/query" : {
      "get" : {
        "summary" : "GET /api/preview_embed/card/{token}/query",
        "description" : "Fetch the query results for a Card you're considering embedding by passing a JWT `token`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/preview_embed" ]
      }
    },
    "/api/preview_embed/dashboard/{token}" : {
      "get" : {
        "summary" : "GET /api/preview_embed/dashboard/{token}",
        "description" : "Fetch a Dashboard you're considering embedding by passing a JWT `token`. ",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/preview_embed" ]
      }
    },
    "/api/preview_embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}" : {
      "get" : {
        "summary" : "GET /api/preview_embed/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}",
        "description" : "Fetch the results of running a Card belonging to a Dashboard you're considering embedding with JWT `token`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/preview_embed" ]
      }
    },
    "/api/preview_embed/dashboard/{token}/params/{param-key}/values" : {
      "get" : {
        "summary" : "GET /api/preview_embed/dashboard/{token}/params/{param-key}/values",
        "description" : "Embedded version of chain filter values endpoint.",
        "parameters" : [ ],
        "tags" : [ "/api/preview_embed" ]
      }
    },
    "/api/preview_embed/pivot/card/{token}/query" : {
      "get" : {
        "summary" : "GET /api/preview_embed/pivot/card/{token}/query",
        "description" : "Fetch the query results for a Card you're considering embedding by passing a JWT `token`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/preview_embed" ]
      }
    },
    "/api/preview_embed/pivot/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}" : {
      "get" : {
        "summary" : "GET /api/preview_embed/pivot/dashboard/{token}/dashcard/{dashcard-id}/card/{card-id}",
        "description" : "Fetch the results of running a Card belonging to a Dashboard you're considering embedding with JWT `token`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "token",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/preview_embed" ]
      }
    },
    "/api/public/action/{uuid}" : {
      "get" : {
        "summary" : "GET /api/public/action/{uuid}",
        "description" : "Fetch a publicly-accessible Action. Does not require auth credentials. Public sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/action/{uuid}/execute" : {
      "post" : {
        "summary" : "POST /api/public/action/{uuid}/execute",
        "description" : "Execute the Action.\n\n   `parameters` should be the mapped dashboard parameters with values.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "parameters" : {
                    "type" : "object",
                    "additionalProperties" : { }
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}",
        "description" : "Fetch a publicly-accessible Card an return query results as well as `:card` information. Does not require auth\n   credentials. Public sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}/field/{field-id}/remapping/{remapped-id}" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}/field/{field-id}/remapping/{remapped-id}",
        "description" : "Fetch remapped Field values. This is the same as `GET /api/field/:id/remapping/:remapped-id`, but for use with public\n  Cards.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "remapped-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}/field/{field-id}/search/{search-field-id}" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}/field/{field-id}/search/{search-field-id}",
        "description" : "Search for values of a Field that is referenced by a public Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "search-field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}/field/{field-id}/values" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}/field/{field-id}/values",
        "description" : "Fetch FieldValues for a Field that is referenced by a public Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}/params/{param-key}/search/{query}" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}/params/{param-key}/search/{query}",
        "description" : "Fetch values for a parameter on a public card containing `query`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}/params/{param-key}/values" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}/params/{param-key}/values",
        "description" : "Fetch values for a parameter on a public card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}/query" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}/query",
        "description" : "Fetch a publicly-accessible Card an return query results as well as `:card` information. Does not require auth\n   credentials. Public sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/card/{uuid}/query/{export-format}" : {
      "get" : {
        "summary" : "GET /api/public/card/{uuid}/query/{export-format}",
        "description" : "Fetch a publicly-accessible Card and return query results in the specified format. Does not require auth\n  credentials. Public sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "export-format",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "csv", "api", "xlsx", "json" ]
          }
        }, {
          "in" : "query",
          "name" : "format_rows",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "pivot_results",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}",
        "description" : "Fetch a publicly-accessible Dashboard. Does not require auth credentials. Public sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}",
        "description" : "Fetch the results for a Card in a publicly-accessible Dashboard. Does not require auth credentials. Public\n   sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}/{export-format}" : {
      "post" : {
        "summary" : "POST /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}/{export-format}",
        "description" : "Fetch the results of running a publicly-accessible Card belonging to a Dashboard and return the data in one of the\n  export formats. Does not require auth credentials. Public sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "export-format",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "csv", "api", "xlsx", "json" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "format_rows" : {
                    "default" : false,
                    "type" : "boolean"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : { }
                    }
                  },
                  "pivot_results" : {
                    "default" : false,
                    "type" : "boolean"
                  }
                },
                "required" : [ "format_rows", "pivot_results" ]
              }
            }
          }
        },
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/dashcard/{dashcard-id}/execute" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/execute",
        "description" : "Fetches the values for filling in execution parameters. Pass PK parameters and values to select.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/public" ]
      },
      "post" : {
        "summary" : "POST /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/execute",
        "description" : "Execute the associated Action in the context of a `Dashboard` and `DashboardCard` that includes it.\n\n   `parameters` should be the mapped dashboard parameters with values.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "parameters" : {
                    "type" : "object",
                    "additionalProperties" : { }
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/field/{field-id}/remapping/{remapped-id}" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}/field/{field-id}/remapping/{remapped-id}",
        "description" : "Fetch remapped Field values. This is the same as `GET /api/field/:id/remapping/:remapped-id`, but for use with public\n  Dashboards.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "remapped-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/field/{field-id}/search/{search-field-id}" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}/field/{field-id}/search/{search-field-id}",
        "description" : "Search for values of a Field that is referenced by a Card in a public Dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "search-field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "value",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/field/{field-id}/values" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}/field/{field-id}/values",
        "description" : "Fetch FieldValues for a Field that is referenced by a Card in a public Dashboard.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "field-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/params/{param-key}/search/{query}" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}/params/{param-key}/search/{query}",
        "description" : "Fetch filter values for dashboard parameter `param-key`, containing specified `query`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/dashboard/{uuid}/params/{param-key}/values" : {
      "get" : {
        "summary" : "GET /api/public/dashboard/{uuid}/params/{param-key}/values",
        "description" : "Fetch filter values for dashboard parameter `param-key`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "param-key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/oembed" : {
      "get" : {
        "summary" : "GET /api/public/oembed",
        "description" : "oEmbed endpoint used to retreive embed code and metadata for a (public) Metabase URL.",
        "parameters" : [ {
          "in" : "query",
          "name" : "url",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "format",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "json" ]
          },
          "description" : "The format param is not used by the API, but is required as part of the oEmbed spec: http://oembed.com/#section2 just return an error if `format` is specified and it's anything other than `json`."
        }, {
          "in" : "query",
          "name" : "maxheight",
          "required" : true,
          "schema" : {
            "default" : 800,
            "type" : "integer",
            "minimum" : 1
          }
        }, {
          "in" : "query",
          "name" : "maxwidth",
          "required" : true,
          "schema" : {
            "default" : 1024,
            "type" : "integer",
            "minimum" : 1
          }
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/pivot/card/{uuid}/query" : {
      "get" : {
        "summary" : "GET /api/public/pivot/card/{uuid}/query",
        "description" : "Fetch a publicly-accessible Card an return query results as well as `:card` information. Does not require auth\n   credentials. Public sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/public/pivot/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}" : {
      "get" : {
        "summary" : "GET /api/public/pivot/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}",
        "description" : "Fetch the results for a Card in a publicly-accessible Dashboard. Does not require auth credentials. Public\n  sharing must be enabled.",
        "parameters" : [ {
          "in" : "path",
          "name" : "uuid",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
          },
          "description" : "value must be a valid UUID."
        }, {
          "in" : "path",
          "name" : "card-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "path",
          "name" : "dashcard-id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "parameters",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/public" ]
      }
    },
    "/api/pulse/" : {
      "get" : {
        "summary" : "GET /api/pulse/",
        "description" : "Fetch all dashboard subscriptions. By default, returns only subscriptions for which the current user has write\n  permissions. For admins, this is all subscriptions; for non-admins, it is only subscriptions that they created.\n\n  If `dashboard_id` is specified, restricts results to subscriptions for that dashboard.\n\n  If `created_or_receive` is `true`, it specifically returns all subscriptions for which the current user\n  created *or* is a known recipient of. Note that this is a superset of the default items returned for non-admins,\n  and a subset of the default items returned for admins. This is used to power the /account/notifications page.\n  This may include subscriptions which the current user does not have collection permissions for, in which case\n  some sensitive metadata (the list of cards and recipients) is stripped out.",
        "parameters" : [ {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "dashboard_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "creator_or_recipient",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/pulse" ]
      },
      "post" : {
        "summary" : "POST /api/pulse/",
        "description" : "Create a new `Pulse`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "cards" : { },
                  "channels" : { },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "dashboard_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : { }
                    }
                  },
                  "skip_if_empty" : {
                    "type" : "boolean",
                    "default" : false
                  }
                },
                "required" : [ "name", "cards", "channels" ]
              }
            }
          }
        },
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/form_input" : {
      "get" : {
        "summary" : "GET /api/pulse/form_input",
        "description" : "Provides relevant configuration information and user choices for creating/updating Pulses.",
        "parameters" : [ ],
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/preview_card/{id}" : {
      "get" : {
        "summary" : "GET /api/pulse/preview_card/{id}",
        "description" : "Get HTML rendering of a Card with `id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/preview_card_info/{id}" : {
      "get" : {
        "summary" : "GET /api/pulse/preview_card_info/{id}",
        "description" : "Get JSON object containing HTML rendering of a Card with `id` and other information.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/preview_card_png/{id}" : {
      "get" : {
        "summary" : "GET /api/pulse/preview_card_png/{id}",
        "description" : "Get PNG rendering of a Card with `id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/preview_dashboard/{id}" : {
      "get" : {
        "summary" : "GET /api/pulse/preview_dashboard/{id}",
        "description" : "Get HTML rendering of a Dashboard with `id`.\n\n  This endpoint relies on a custom middleware defined in `metabase.channel.render.core/style-tag-nonce-middleware` to\n  allow the style tag to render properly, given our Content Security Policy setup. This middleware is attached to these\n  routes at the bottom of this namespace using `metabase.api.common/define-routes`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/test" : {
      "post" : {
        "summary" : "POST /api/pulse/test",
        "description" : "Test send an unsaved pulse.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "cards" : { },
                  "channels" : { },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "collection_position" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "dashboard_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "skip_if_empty" : {
                    "type" : "boolean",
                    "default" : false
                  }
                },
                "required" : [ "name", "cards", "channels" ]
              }
            }
          }
        },
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/unsubscribe/" : {
      "post" : {
        "summary" : "POST /api/pulse/unsubscribe/",
        "description" : "Allow non-users to unsubscribe from pulses/subscriptions, with the hash given through email.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "email" : {
                    "type" : "string"
                  },
                  "hash" : {
                    "type" : "string"
                  },
                  "pulse-id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "pulse-id", "email", "hash" ]
              }
            }
          }
        },
        "tags" : [ "/api/pulse/unsubscribe" ]
      }
    },
    "/api/pulse/unsubscribe/undo" : {
      "post" : {
        "summary" : "POST /api/pulse/unsubscribe/undo",
        "description" : "Allow non-users to undo an unsubscribe from pulses/subscriptions, with the hash given through email.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "email" : {
                    "type" : "string"
                  },
                  "hash" : {
                    "type" : "string"
                  },
                  "pulse-id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "pulse-id", "email", "hash" ]
              }
            }
          }
        },
        "tags" : [ "/api/pulse/unsubscribe" ]
      }
    },
    "/api/pulse/{id}" : {
      "get" : {
        "summary" : "GET /api/pulse/{id}",
        "description" : "Fetch `Pulse` with ID. If the user is a recipient of the Pulse but does not have read permissions for its collection,\n  we still return it but with some sensitive metadata removed.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/pulse" ]
      },
      "put" : {
        "summary" : "PUT /api/pulse/{id}",
        "description" : "Update a Pulse with `id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "archived" : {
                    "type" : "boolean",
                    "default" : false
                  },
                  "cards" : { },
                  "channels" : { },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "parameters" : {
                    "type" : "array",
                    "items" : {
                      "description" : "Value must be a map.",
                      "type" : "object",
                      "properties" : { }
                    }
                  },
                  "skip_if_empty" : {
                    "type" : "boolean",
                    "default" : false
                  }
                },
                "required" : [ ]
              }
            }
          }
        },
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/pulse/{id}/subscription" : {
      "delete" : {
        "summary" : "DELETE /api/pulse/{id}/subscription",
        "description" : "For users to unsubscribe themselves from a pulse subscription.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/pulse" ]
      }
    },
    "/api/revision/" : {
      "get" : {
        "summary" : "GET /api/revision/",
        "description" : "Get revisions of an object.",
        "parameters" : [ {
          "in" : "query",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "card", "dashboard" ]
          }
        } ],
        "tags" : [ "/api/revision" ]
      }
    },
    "/api/revision/revert" : {
      "post" : {
        "summary" : "POST /api/revision/revert",
        "description" : "Revert an object to a prior revision.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "entity" : {
                    "type" : "string",
                    "enum" : [ "card", "dashboard" ]
                  },
                  "id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "revision_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "id", "entity", "revision_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/revision" ]
      }
    },
    "/api/search/" : {
      "get" : {
        "summary" : "GET /api/search/",
        "description" : "Search for items in Metabase.\n  For the list of supported models, check [[metabase.search.config/all-models]].\n\n  Filters:\n  - `archived`: set to true to search archived items only, default is false\n  - `table_db_id`: search for tables, cards, and models of a certain DB\n  - `models`: only search for items of specific models. If not provided, search for all models\n  - `filters_items_in_personal_collection`: only search for items in personal collections\n  - `created_at`: search for items created at a specific timestamp\n  - `created_by`: search for items created by a specific user\n  - `last_edited_at`: search for items last edited at a specific timestamp\n  - `last_edited_by`: search for items last edited by a specific user\n  - `search_native_query`: set to true to search the content of native queries\n  - `verified`: set to true to search for verified items only (requires Content Management or Official Collections premium feature)\n  - `ids`: search for items with those ids, works iff single value passed to `models`\n\n  Note that not all item types support all filters, and the results will include only models that support the provided filters. For example:\n  - The `created-by` filter supports dashboards, models, actions, and cards.\n  - The `verified` filter supports models and cards.\n\n  A search query that has both filters applied will only return models and cards.",
        "parameters" : [ {
          "in" : "query",
          "name" : "q",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "context",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "table_db_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "models",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "dashboard", "table", "dataset", "segment", "collection", "database", "action", "indexed-entity", "metric", "card" ]
            }
          }
        }, {
          "in" : "query",
          "name" : "filter_items_in_personal_collection",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "all", "only", "only-mine", "exclude", "exclude-others" ]
          }
        }, {
          "in" : "query",
          "name" : "created_at",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "created_by",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 1
            }
          }
        }, {
          "in" : "query",
          "name" : "last_edited_at",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "query",
          "name" : "last_edited_by",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 1
            }
          }
        }, {
          "in" : "query",
          "name" : "model_ancestors",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "search_engine",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "search_native_query",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "verified",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "ids",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "description" : "value must be an integer greater than zero.",
              "type" : "integer",
              "minimum" : 1
            }
          }
        }, {
          "in" : "query",
          "name" : "calculate_available_models",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "include_dashboard_questions",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/search" ]
      }
    },
    "/api/search/force-reindex" : {
      "post" : {
        "summary" : "POST /api/search/force-reindex",
        "description" : "This will trigger an immediate reindexing, if we are using search index.",
        "parameters" : [ ],
        "tags" : [ "/api/search" ]
      }
    },
    "/api/search/re-init" : {
      "post" : {
        "summary" : "POST /api/search/re-init",
        "description" : "This will blow away any search indexes, re-create, and re-populate them.",
        "parameters" : [ ],
        "tags" : [ "/api/search" ]
      }
    },
    "/api/search/weights" : {
      "get" : {
        "summary" : "GET /api/search/weights",
        "description" : "Return the current weights being used to rank the search results",
        "parameters" : [ {
          "in" : "query",
          "name" : "context",
          "required" : true,
          "schema" : {
            "default" : "default",
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "search_engine",
          "required" : false,
          "schema" : { }
        } ],
        "tags" : [ "/api/search" ]
      },
      "put" : {
        "summary" : "PUT /api/search/weights",
        "description" : "Update the current weights being used to rank the search results",
        "parameters" : [ {
          "in" : "query",
          "name" : "context",
          "required" : true,
          "schema" : {
            "default" : "default",
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "search_engine",
          "required" : false,
          "schema" : { }
        } ],
        "tags" : [ "/api/search" ]
      }
    },
    "/api/segment/" : {
      "post" : {
        "summary" : "POST /api/segment/",
        "description" : "Create a new `Segment`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "definition" : {
                    "description" : "Value must be a map.",
                    "type" : "object",
                    "properties" : { }
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "table_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "name", "table_id", "definition" ]
              }
            }
          }
        },
        "tags" : [ "/api/segment" ]
      },
      "get" : {
        "summary" : "GET /api/segment/",
        "description" : "Fetch *all* `Segments`.",
        "parameters" : [ ],
        "tags" : [ "/api/segment" ]
      }
    },
    "/api/segment/{id}" : {
      "get" : {
        "summary" : "GET /api/segment/{id}",
        "description" : "Fetch `Segment` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/segment" ]
      },
      "put" : {
        "summary" : "PUT /api/segment/{id}",
        "description" : "Update a `Segment` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "archived" : {
                    "type" : "boolean"
                  },
                  "caveats" : {
                    "type" : "string"
                  },
                  "definition" : {
                    "type" : "object",
                    "properties" : { }
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "points_of_interest" : {
                    "type" : "string"
                  },
                  "revision_message" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "show_in_getting_started" : {
                    "type" : "boolean"
                  }
                },
                "required" : [ "revision_message" ]
              }
            }
          }
        },
        "tags" : [ "/api/segment" ]
      },
      "delete" : {
        "summary" : "DELETE /api/segment/{id}",
        "description" : "Archive a Segment. (DEPRECATED -- Just pass updated value of `:archived` to the `PUT` endpoint instead.)",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "revision_message",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/segment" ]
      }
    },
    "/api/segment/{id}/related" : {
      "get" : {
        "summary" : "GET /api/segment/{id}/related",
        "description" : "Return related entities.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/segment" ]
      }
    },
    "/api/segment/{id}/revert" : {
      "post" : {
        "summary" : "POST /api/segment/{id}/revert",
        "description" : "Revert a `Segement` to a prior `Revision`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "revision_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  }
                },
                "required" : [ "revision_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/segment" ]
      }
    },
    "/api/segment/{id}/revisions" : {
      "get" : {
        "summary" : "GET /api/segment/{id}/revisions",
        "description" : "Fetch `Revisions` for `Segment` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/segment" ]
      }
    },
    "/api/session/" : {
      "post" : {
        "summary" : "POST /api/session/",
        "description" : "Login.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "password" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "username" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "username", "password" ]
              }
            }
          }
        },
        "tags" : [ "/api/session" ]
      },
      "delete" : {
        "summary" : "DELETE /api/session/",
        "description" : "Logout.",
        "parameters" : [ ],
        "tags" : [ "/api/session" ]
      }
    },
    "/api/session/forgot_password" : {
      "post" : {
        "summary" : "POST /api/session/forgot_password",
        "description" : "Send a reset email when user has forgotten their password.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "email" : {
                    "description" : "value must be a valid email address.",
                    "type" : "string"
                  }
                },
                "required" : [ "email" ]
              }
            }
          }
        },
        "tags" : [ "/api/session" ]
      }
    },
    "/api/session/google_auth" : {
      "post" : {
        "summary" : "POST /api/session/google_auth",
        "description" : "Login with Google Auth.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "token" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "token" ]
              }
            }
          }
        },
        "tags" : [ "/api/session" ]
      }
    },
    "/api/session/password_reset_token_valid" : {
      "get" : {
        "summary" : "GET /api/session/password_reset_token_valid",
        "description" : "Check if a password reset token is valid and isn't expired.",
        "parameters" : [ {
          "in" : "query",
          "name" : "token",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/session" ]
      }
    },
    "/api/session/properties" : {
      "get" : {
        "summary" : "GET /api/session/properties",
        "description" : "Get all properties and their values. These are the specific `Settings` that are readable by the current user, or are\n  public if no user is logged in.",
        "parameters" : [ ],
        "tags" : [ "/api/session" ]
      }
    },
    "/api/session/reset_password" : {
      "post" : {
        "summary" : "POST /api/session/reset_password",
        "description" : "Reset password with a reset token.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "password" : {
                    "description" : "password is too common.",
                    "type" : "string"
                  },
                  "token" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "token", "password" ]
              }
            }
          }
        },
        "tags" : [ "/api/session" ]
      }
    },
    "/api/setting/" : {
      "get" : {
        "summary" : "GET /api/setting/",
        "description" : "Get all `Settings` and their values. You must be a superuser or have `setting` permission to do this.\n  For non-superusers, a list of visible settings and values can be retrieved using the /api/session/properties endpoint.",
        "parameters" : [ ],
        "tags" : [ "/api/setting" ]
      },
      "put" : {
        "summary" : "PUT /api/setting/",
        "description" : "Update multiple `Settings` values. If called by a non-superuser, only user-local settings can be updated.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : { }
              }
            }
          }
        },
        "tags" : [ "/api/setting" ]
      }
    },
    "/api/setting/{key}" : {
      "get" : {
        "summary" : "GET /api/setting/{key}",
        "description" : "Fetch a single `Setting`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/setting" ]
      },
      "put" : {
        "summary" : "PUT /api/setting/{key}",
        "description" : "Create/update a `Setting`. If called by a non-admin, only user-local settings can be updated.\n   This endpoint can also be used to delete Settings by passing `nil` for `:value`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "tags" : [ "/api/setting" ]
      }
    },
    "/api/setup/" : {
      "post" : {
        "summary" : "POST /api/setup/",
        "description" : "Special endpoint for creating the first user during setup. This endpoint both creates the user AND logs them in and\n  returns a session ID. This endpoint can also be used to add a database, create and invite a second admin, and/or\n  set specific settings from the setup flow.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "invite" : {
                    "type" : "object",
                    "properties" : {
                      "email" : {
                        "description" : "value must be a valid email address.",
                        "type" : "string"
                      },
                      "first_name" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "last_name" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      }
                    }
                  },
                  "prefs" : {
                    "type" : "object",
                    "properties" : {
                      "site_locale" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "site_name" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      }
                    },
                    "required" : [ "site_name" ]
                  },
                  "token" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "user" : {
                    "type" : "object",
                    "properties" : {
                      "email" : {
                        "description" : "value must be a valid email address.",
                        "type" : "string"
                      },
                      "first_name" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "last_name" : {
                        "description" : "value must be a non-blank string.",
                        "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                      },
                      "password" : {
                        "description" : "password is too common.",
                        "type" : "string"
                      }
                    },
                    "required" : [ "email", "password" ]
                  }
                },
                "required" : [ "token", "user", "prefs" ]
              }
            }
          }
        },
        "tags" : [ "/api/setup" ]
      }
    },
    "/api/setup/admin_checklist" : {
      "get" : {
        "summary" : "GET /api/setup/admin_checklist",
        "description" : "Return various \"admin checklist\" steps and whether they've been completed. You must be a superuser to see this!",
        "parameters" : [ ],
        "tags" : [ "/api/setup" ]
      }
    },
    "/api/setup/user_defaults" : {
      "get" : {
        "summary" : "GET /api/setup/user_defaults",
        "description" : "Returns object containing default user details for initial setup, if configured,\n   and if the provided token value matches the token in the configuration value.",
        "parameters" : [ ],
        "tags" : [ "/api/setup" ]
      }
    },
    "/api/slack/bug-report" : {
      "post" : {
        "summary" : "POST /api/slack/bug-report",
        "description" : "Send diagnostic information to the configured Slack channels.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "diagnosticInfo" : {
                    "type" : "object"
                  }
                },
                "required" : [ "diagnosticInfo" ]
              }
            }
          }
        },
        "tags" : [ "/api/slack" ]
      }
    },
    "/api/slack/manifest" : {
      "get" : {
        "summary" : "GET /api/slack/manifest",
        "description" : "Returns the YAML manifest file that should be used to bootstrap new Slack apps",
        "parameters" : [ ],
        "tags" : [ "/api/slack" ]
      }
    },
    "/api/slack/settings" : {
      "put" : {
        "summary" : "PUT /api/slack/settings",
        "description" : "Update Slack related settings. You must be a superuser to do this. Also updates the slack-cache.\n  There are 3 cases where we alter the slack channel/user cache:\n  1. falsy token           -> clear\n  2. invalid token         -> clear\n  3. truthy, valid token   -> refresh ",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "slack-app-token" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "slack-bug-report-channel" : {
                    "type" : "string"
                  },
                  "slack-files-channel" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/slack" ]
      }
    },
    "/api/table/" : {
      "get" : {
        "summary" : "GET /api/table/",
        "description" : "Get all `Tables`.",
        "parameters" : [ ],
        "tags" : [ "/api/table" ]
      },
      "put" : {
        "summary" : "PUT /api/table/",
        "description" : "Update all `Table` in `ids`.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "caveats" : {
                    "type" : "string"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "display_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "entity_type" : {
                    "description" : "value must be a valid entity type (keyword or string)."
                  },
                  "ids" : {
                    "type" : "array",
                    "items" : {
                      "description" : "value must be an integer greater than zero.",
                      "type" : "integer",
                      "minimum" : 1
                    }
                  },
                  "points_of_interest" : {
                    "type" : "string"
                  },
                  "show_in_getting_started" : {
                    "type" : "boolean"
                  },
                  "visibility_type" : {
                    "type" : "string",
                    "enum" : [ "technical", "hidden", "cruft" ]
                  }
                },
                "required" : [ "ids" ]
              }
            }
          }
        },
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/card__:id/fks" : {
      "get" : {
        "summary" : "GET /api/table/card__:id/fks",
        "description" : "Return FK info for the 'virtual' table for a Card. This is always empty, so this endpoint\n   serves mainly as a placeholder to avoid having to change anything on the frontend.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/card__:id/query_metadata" : {
      "get" : {
        "summary" : "GET /api/table/card__:id/query_metadata",
        "description" : "Return metadata for the 'virtual' table for a Card.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}" : {
      "get" : {
        "summary" : "GET /api/table/{id}",
        "description" : "Get `Table` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/table" ]
      },
      "put" : {
        "summary" : "PUT /api/table/{id}",
        "description" : "Update `Table` with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "caveats" : {
                    "type" : "string"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "display_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "entity_type" : {
                    "description" : "value must be a valid entity type (keyword or string)."
                  },
                  "field_order" : {
                    "type" : "string",
                    "enum" : [ "alphabetical", "custom", "database", "smart" ]
                  },
                  "points_of_interest" : {
                    "type" : "string"
                  },
                  "show_in_getting_started" : {
                    "type" : "boolean"
                  },
                  "visibility_type" : {
                    "type" : "string",
                    "enum" : [ "technical", "hidden", "cruft" ]
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/append-csv" : {
      "post" : {
        "summary" : "POST /api/table/{id}/append-csv",
        "description" : "Inserts the rows of an uploaded CSV file into the table identified by `:id`. The table must have been created by\n  uploading a CSV file.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "object",
                    "properties" : {
                      "filename" : {
                        "type" : "string"
                      },
                      "tempfile" : { }
                    },
                    "required" : [ "filename", "tempfile" ]
                  }
                },
                "required" : [ "file" ]
              }
            }
          }
        },
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/discard_values" : {
      "post" : {
        "summary" : "POST /api/table/{id}/discard_values",
        "description" : "Discard the FieldValues belonging to the Fields in this Table. Only applies to fields that have FieldValues. If\n   this Table's Database is set up to automatically sync FieldValues, they will be recreated during the next cycle.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/fields/order" : {
      "put" : {
        "summary" : "PUT /api/table/{id}/fields/order",
        "description" : "Reorder fields",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "description" : "value must be an integer greater than zero.",
                  "type" : "integer",
                  "minimum" : 1
                }
              }
            }
          }
        },
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/fks" : {
      "get" : {
        "summary" : "GET /api/table/{id}/fks",
        "description" : "Get all foreign keys whose destination is a `Field` that belongs to this `Table`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/query_metadata" : {
      "get" : {
        "summary" : "GET /api/table/{id}/query_metadata",
        "description" : "Get metadata about a `Table` useful for running queries.\n   Returns DB, fields, field FKs, and field values.\n\n   Passing `include_hidden_fields=true` will include any hidden `Fields` in the response. Defaults to `false`\n   Passing `include_sensitive_fields=true` will include any sensitive `Fields` in the response. Defaults to `false`.\n\n   Passing `include_editable_data_model=true` will check that the current user has write permissions for the table's\n   data model, while `false` checks that they have data access perms for the table. Defaults to `false`.\n\n   These options are provided for use in the Admin Edit Metadata page.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_sensitive_fields",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_hidden_fields",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "in" : "query",
          "name" : "include_editable_data_model",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/related" : {
      "get" : {
        "summary" : "GET /api/table/{id}/related",
        "description" : "Return related entities.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/replace-csv" : {
      "post" : {
        "summary" : "POST /api/table/{id}/replace-csv",
        "description" : "Replaces the contents of the table identified by `:id` with the rows of an uploaded CSV file. The table must have\n  been created by uploading a CSV file.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "object",
                    "properties" : {
                      "filename" : {
                        "type" : "string"
                      },
                      "tempfile" : { }
                    },
                    "required" : [ "filename", "tempfile" ]
                  }
                },
                "required" : [ "file" ]
              }
            }
          }
        },
        "tags" : [ "/api/table" ]
      }
    },
    "/api/table/{id}/rescan_values" : {
      "post" : {
        "summary" : "POST /api/table/{id}/rescan_values",
        "description" : "Manually trigger an update for the FieldValues for the Fields belonging to this Table. Only applies to Fields that\n   are eligible for FieldValues.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/table" ]
      }
    },
    "/api/task/" : {
      "get" : {
        "summary" : "GET /api/task/",
        "description" : "Fetch a list of recent tasks stored as Task History",
        "parameters" : [ ],
        "tags" : [ "/api/task" ]
      }
    },
    "/api/task/info" : {
      "get" : {
        "summary" : "GET /api/task/info",
        "description" : "Return raw data about all scheduled tasks (i.e., Quartz Jobs and Triggers).",
        "parameters" : [ ],
        "tags" : [ "/api/task" ]
      }
    },
    "/api/task/{id}" : {
      "get" : {
        "summary" : "GET /api/task/{id}",
        "description" : "Get `TaskHistory` entry with ID.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/task" ]
      }
    },
    "/api/tiles/{zoom}/{x}/{y}/{lat-field}/{lon-field}" : {
      "get" : {
        "summary" : "GET /api/tiles/{zoom}/{x}/{y}/{lat-field}/{lon-field}",
        "description" : "This endpoints provides an image with the appropriate pins rendered given a MBQL `query` (passed as a GET query\n  string param). We evaluate the query and find the set of lat/lon pairs which are relevant and then render the\n  appropriate ones. It's expected that to render a full map view several calls will be made to this endpoint in\n  parallel.",
        "parameters" : [ {
          "in" : "path",
          "name" : "zoom",
          "required" : true,
          "schema" : {
            "type" : "integer"
          },
          "description" : "value must be an integer."
        }, {
          "in" : "path",
          "name" : "x",
          "required" : true,
          "schema" : {
            "type" : "integer"
          },
          "description" : "value must be an integer."
        }, {
          "in" : "path",
          "name" : "y",
          "required" : true,
          "schema" : {
            "type" : "integer"
          },
          "description" : "value must be an integer."
        }, {
          "in" : "path",
          "name" : "lat-field",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "lon-field",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "query",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid JSON string."
        } ],
        "tags" : [ "/api/tiles" ]
      }
    },
    "/api/timeline-event/" : {
      "post" : {
        "summary" : "POST /api/timeline-event/",
        "description" : "Create a new [[TimelineEvent]].",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "question_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "timezone" : {
                    "type" : "string"
                  },
                  "timestamp" : {
                    "description" : "value must be a valid date string",
                    "type" : "string"
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "archived" : {
                    "type" : "boolean"
                  },
                  "timeline_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "source" : {
                    "type" : "string",
                    "enum" : [ "collections", "question" ]
                  },
                  "time_matters" : {
                    "type" : "boolean"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "icon" : {
                    "type" : "string",
                    "enum" : [ "star", "cake", "mail", "warning", "bell", "cloud" ]
                  }
                },
                "required" : [ "name", "timestamp", "timezone", "timeline_id" ]
              }
            }
          }
        },
        "tags" : [ "/api/timeline-event" ]
      }
    },
    "/api/timeline-event/{id}" : {
      "get" : {
        "summary" : "GET /api/timeline-event/{id}",
        "description" : "Fetch the [[TimelineEvent]] with `id`.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/timeline-event" ]
      },
      "put" : {
        "summary" : "PUT /api/timeline-event/{id}",
        "description" : "Update a [[TimelineEvent]].",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "archived" : {
                    "type" : "boolean"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "icon" : {
                    "type" : "string",
                    "enum" : [ "star", "cake", "mail", "warning", "bell", "cloud" ]
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "time_matters" : {
                    "type" : "boolean"
                  },
                  "timeline_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "timestamp" : {
                    "description" : "value must be a valid date string",
                    "type" : "string"
                  },
                  "timezone" : {
                    "type" : "string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/timeline-event" ]
      },
      "delete" : {
        "summary" : "DELETE /api/timeline-event/{id}",
        "description" : "Delete a [[TimelineEvent]].",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/timeline-event" ]
      }
    },
    "/api/timeline/" : {
      "post" : {
        "summary" : "POST /api/timeline/",
        "description" : "Create a new [[Timeline]].",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "archived" : {
                    "type" : "boolean"
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "default" : {
                    "type" : "boolean"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "icon" : {
                    "type" : "string",
                    "enum" : [ "star", "cake", "mail", "warning", "bell", "cloud" ]
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "name" ]
              }
            }
          }
        },
        "tags" : [ "/api/timeline" ]
      },
      "get" : {
        "summary" : "GET /api/timeline/",
        "description" : "Fetch a list of `Timeline`s. Can include `archived=true` to return archived timelines.",
        "parameters" : [ {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.api.timeline~1include"
          }
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : true,
          "schema" : {
            "default" : false,
            "type" : "boolean"
          }
        } ],
        "tags" : [ "/api/timeline" ]
      }
    },
    "/api/timeline/{id}" : {
      "get" : {
        "summary" : "GET /api/timeline/{id}",
        "description" : "Fetch the `Timeline` with `id`. Include `include=events` to unarchived events included on the timeline. Add\n  `archived=true` to return all events on the timeline, both archived and unarchived.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include",
          "required" : false,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.api.timeline~1include"
          }
        }, {
          "in" : "query",
          "name" : "archived",
          "required" : true,
          "schema" : {
            "default" : "false",
            "type" : "boolean"
          }
        }, {
          "in" : "query",
          "name" : "start",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid date string"
        }, {
          "in" : "query",
          "name" : "end",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "description" : "value must be a valid date string"
        } ],
        "tags" : [ "/api/timeline" ]
      },
      "put" : {
        "summary" : "PUT /api/timeline/{id}",
        "description" : "Update the [[Timeline]] with `id`. Returns the timeline without events. Archiving a timeline will archive all of the\n  events in that timeline.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "archived" : {
                    "type" : "boolean"
                  },
                  "collection_id" : {
                    "description" : "value must be an integer greater than zero.",
                    "type" : "integer",
                    "minimum" : 1
                  },
                  "default" : {
                    "type" : "boolean"
                  },
                  "description" : {
                    "type" : "string"
                  },
                  "icon" : {
                    "type" : "string",
                    "enum" : [ "star", "cake", "mail", "warning", "bell", "cloud" ]
                  },
                  "name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/timeline" ]
      },
      "delete" : {
        "summary" : "DELETE /api/timeline/{id}",
        "description" : "Delete a [[Timeline]]. Will cascade delete its events as well.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/timeline" ]
      }
    },
    "/api/user-key-value/namespace/{namespace}" : {
      "get" : {
        "summary" : "GET /api/user-key-value/namespace/{namespace}",
        "description" : "Returns all KV pairs in a given namespace for the current user",
        "parameters" : [ {
          "in" : "path",
          "name" : "namespace",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/user-key-value" ]
      }
    },
    "/api/user-key-value/namespace/{namespace}/key/{key}" : {
      "put" : {
        "summary" : "PUT /api/user-key-value/namespace/{namespace}/key/{key}",
        "description" : "Upsert a KV-pair for the user",
        "parameters" : [ {
          "in" : "path",
          "name" : "key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "namespace",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "expires_at" : {
                    "$ref" : "#/components/schemas/metabase.lib.schema.literal~1string.datetime"
                  },
                  "value" : { }
                }
              }
            }
          }
        },
        "tags" : [ "/api/user-key-value" ]
      },
      "get" : {
        "summary" : "GET /api/user-key-value/namespace/{namespace}/key/{key}",
        "description" : "Get a value for the user",
        "parameters" : [ {
          "in" : "path",
          "name" : "key",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        }, {
          "in" : "path",
          "name" : "namespace",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
          },
          "description" : "value must be a non-blank string."
        } ],
        "tags" : [ "/api/user-key-value" ]
      },
      "delete" : {
        "summary" : "DELETE /api/user-key-value/namespace/{namespace}/key/{key}",
        "description" : "Deletes a KV-pair for the user",
        "parameters" : [ ],
        "tags" : [ "/api/user-key-value" ]
      }
    },
    "/api/user/" : {
      "get" : {
        "summary" : "GET /api/user/",
        "description" : "Fetch a list of `Users` for admins or group managers.\n  By default returns only active users for admins and only active users within groups that the group manager is managing for group managers.\n\n   - If `status` is `deactivated`, include deactivated users only.\n   - If `status` is `all`, include all users (active and inactive).\n   - Also supports `include_deactivated`, which if true, is equivalent to `status=all`; If is false, is equivalent to `status=active`.\n   `status` and `include_deactivated` requires superuser permissions.\n   - `include_deactivated` is a legacy alias for `status` and will be removed in a future release, users are advised to use `status` for better support and flexibility.\n   If both params are passed, `status` takes precedence.\n\n  For users with segmented permissions, return only themselves.\n\n  Takes `limit`, `offset` for pagination.\n  Takes `query` for filtering on first name, last name, email.\n  Also takes `group_id`, which filters on group id.",
        "parameters" : [ {
          "in" : "query",
          "name" : "status",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "query",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "group_id",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        }, {
          "in" : "query",
          "name" : "include_deactivated",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "tags" : [ "/api/user" ]
      },
      "post" : {
        "summary" : "POST /api/user/",
        "description" : "Create a new `User`, return a 400 if the email address is already taken",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "email" : {
                    "description" : "value must be a valid email address.",
                    "type" : "string"
                  },
                  "first_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "last_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "login_attributes" : {
                    "description" : "login attribute keys must be a keyword or string",
                    "type" : "object",
                    "additionalProperties" : { }
                  },
                  "user_group_memberships" : {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/metabase.api.user~1user-group-membership"
                    }
                  }
                },
                "required" : [ "email" ]
              }
            }
          }
        },
        "tags" : [ "/api/user" ]
      }
    },
    "/api/user/current" : {
      "get" : {
        "summary" : "GET /api/user/current",
        "description" : "Fetch the current `User`.",
        "parameters" : [ ],
        "tags" : [ "/api/user" ]
      }
    },
    "/api/user/recipients" : {
      "get" : {
        "summary" : "GET /api/user/recipients",
        "description" : "Fetch a list of `Users`. Returns only active users. Meant for non-admins unlike GET /api/user.\n\n   - If user-visibility is :all or the user is an admin, include all users.\n   - If user-visibility is :group, include only users in the same group (excluding the all users group).\n   - If user-visibility is :none or the user is sandboxed, include only themselves.",
        "parameters" : [ ],
        "tags" : [ "/api/user" ]
      }
    },
    "/api/user/{id}" : {
      "get" : {
        "summary" : "GET /api/user/{id}",
        "description" : "Fetch a `User`. You must be fetching yourself *or* be a superuser *or* a Group Manager.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/user" ]
      },
      "put" : {
        "summary" : "PUT /api/user/{id}",
        "description" : "Update an existing, active `User`.\n  Self or superusers can update user info and groups.\n  Group Managers can only add/remove users from groups they are manager of.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "email" : {
                    "description" : "value must be a valid email address.",
                    "type" : "string"
                  },
                  "first_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "is_group_manager" : {
                    "type" : "boolean"
                  },
                  "is_superuser" : {
                    "type" : "boolean"
                  },
                  "last_name" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "locale" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "login_attributes" : {
                    "description" : "login attribute keys must be a keyword or string",
                    "type" : "object",
                    "additionalProperties" : { }
                  },
                  "user_group_memberships" : {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/metabase.api.user~1user-group-membership"
                    }
                  }
                }
              }
            }
          }
        },
        "tags" : [ "/api/user" ]
      },
      "delete" : {
        "summary" : "DELETE /api/user/{id}",
        "description" : "Disable a `User`.  This does not remove the `User` from the DB, but instead disables their account.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/user" ]
      }
    },
    "/api/user/{id}/modal/{modal}" : {
      "put" : {
        "summary" : "PUT /api/user/{id}/modal/{modal}",
        "description" : "Indicate that a user has been informed about the vast intricacies of 'the' Query Builder.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/user" ]
      }
    },
    "/api/user/{id}/password" : {
      "put" : {
        "summary" : "PUT /api/user/{id}/password",
        "description" : "Update a user's password.",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "password" : {
                    "description" : "password is too common.",
                    "type" : "string"
                  }
                },
                "required" : [ "password" ]
              }
            }
          }
        },
        "tags" : [ "/api/user" ]
      }
    },
    "/api/user/{id}/reactivate" : {
      "put" : {
        "summary" : "PUT /api/user/{id}/reactivate",
        "description" : "Reactivate user at `:id`",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "minimum" : 1
          },
          "description" : "value must be an integer greater than zero."
        } ],
        "tags" : [ "/api/user" ]
      }
    },
    "/api/util/bug_report_details" : {
      "get" : {
        "summary" : "GET /api/util/bug_report_details",
        "description" : "Returns version and system information relevant to filing a bug report against Metabase.",
        "parameters" : [ ],
        "tags" : [ "/api/util" ]
      }
    },
    "/api/util/diagnostic_info/connection_pool_info" : {
      "get" : {
        "summary" : "GET /api/util/diagnostic_info/connection_pool_info",
        "description" : "Returns database connection pool info for the current Metabase instance.",
        "parameters" : [ ],
        "tags" : [ "/api/util" ]
      }
    },
    "/api/util/entity_id" : {
      "post" : {
        "summary" : "POST /api/util/entity_id",
        "description" : "Translate entity IDs to model IDs.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "entity_ids" : {
                    "type" : "object",
                    "properties" : { }
                  }
                },
                "required" : [ "entity_ids" ]
              }
            }
          }
        },
        "tags" : [ "/api/util" ]
      }
    },
    "/api/util/logs" : {
      "get" : {
        "summary" : "GET /api/util/logs",
        "description" : "Logs.",
        "parameters" : [ ],
        "tags" : [ "/api/util" ]
      }
    },
    "/api/util/password_check" : {
      "post" : {
        "summary" : "POST /api/util/password_check",
        "description" : "Endpoint that checks if the supplied password meets the currently configured password complexity rules.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "password" : {
                    "description" : "password is too common.",
                    "type" : "string"
                  }
                },
                "required" : [ "password" ]
              }
            }
          }
        },
        "tags" : [ "/api/util" ]
      }
    },
    "/api/util/product-feedback" : {
      "post" : {
        "summary" : "POST /api/util/product-feedback",
        "description" : "Endpoint to provide feedback from the product",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "comments" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "email" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  },
                  "source" : {
                    "description" : "value must be a non-blank string.",
                    "$ref" : "#/components/schemas/metabase.lib.schema.common~1non-blank-string"
                  }
                },
                "required" : [ "source" ]
              }
            }
          }
        },
        "tags" : [ "/api/util" ]
      }
    },
    "/api/util/random_token" : {
      "get" : {
        "summary" : "GET /api/util/random_token",
        "description" : "Return a cryptographically secure random 32-byte token, encoded as a hexadecimal string.\n   Intended for use when creating a value for `embedding-secret-key`.",
        "parameters" : [ ],
        "tags" : [ "/api/util" ]
      }
    },
    "/api/util/stats" : {
      "get" : {
        "summary" : "GET /api/util/stats",
        "description" : "Anonymous usage stats. Endpoint for testing, and eventually exposing this to instance admins to let them see\n  what is being phoned home.",
        "parameters" : [ ],
        "tags" : [ "/api/util" ]
      }
    }
  },
  "servers" : [ {
    "url" : "http://localhost:3000/api",
    "description" : "Localhost"
  } ]
}
    </script>

    <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
  </body>
</html>
